zoukankan      html  css  js  c++  java
  • vs.net的调试小技巧之#define debug(适合新手)

    大多数情况下,vs.net中我们可以用断点来解决调试问题,但有些时候也可能手动需要输出一些信息做为调试的参考,你是否有过调试完成以后,忘记删除某条输出语句的经历?

    那么下面的技巧可以解决这个问题:

    #define debug
    using System;

    namespace debugDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                #if debug
                    Console.WriteLine("我是调试信息");
                #endif
                Console.WriteLine("这里是正常的功能代码...");

                Console.Read();
            }
        }
    }

    注意带"#的部分",这里我们在最开始定义了一个符号debug,然后用#if...#endif做了个判断,意思为:如果 debug被定义过了,则执行

    Console.WriteLine("我是调试信息");

    这一句,程序运行会输出:

    我是调试信息
    这里是正常的功能代码...

    可能有人要发飙了:"切,不加这几行不也是这么输出么?"

    关键的时候到了:程序调试通过,正式发布时,把最开始的#define debug改成#undef debug,再次运行会发现调试信息全部没了!

    学会了吗?当然#还有其它用法,比如常见的#region ... #endregion, 更多用法,请自行参考msdn文档

    最后再补充一个小技巧:除了用断点查看局部变量的值,还可以用System.Diagnostics.Debug.WriteLine("调试信息,比如临时变量的值");来输出结果到output窗口(Ctrol + W + O可调出该窗口),特别是在做海量循环调试时,如果不想断点按到手发软,用这个比较省力

    后话:此乃水文,高手绕过! :)


     

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java实现线程的三种方法
    java 包和访问权限小结
    Java从外部调用类的私有方法
    find
    sigprocmask
    alerm和pause
    kill和raise
    信号处理中可重入函数调用
    低速系统调用的信号中断
    signal函数
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1617126.html
Copyright © 2011-2022 走看看