如何方便的做到在调试(Debug)时显示一些调试跟踪信息,而在(Release)时屏蔽掉这些信息?

时间:2022-02-11 03:33:17

        一直苦闷于无法向C语言那样,一个Debug.*()函数就可以解决Debug版本与Release版本跟踪调试信息的显示与隐藏。通常在做Winform程序时我都是定义一个函数,一般函数原型为DisplayDebugMsg(string strMsg),再在窗体某个可怜的角落里面塞一个RichTextBox。所有的调试信息都是在DisplayDebugMsg函数里面向RichTextBox中添加的。到Release程序时,删去RichTextBox控件,屏蔽掉DisplayDebugMsg函数体而非函数名的内容,这样感觉很是麻烦,不爽哎。

       今天给大家推荐一个好的方法,鄙人才疏学浅,或许你已经在用此方法了。废话不多说了,先上图吧:

如何方便的做到在调试(Debug)时显示一些调试跟踪信息,而在(Release)时屏蔽掉这些信息?

        从图看出,后面是大家最熟悉的命令行界面,前面是窗体。如何做到呢?如何显示调试信息呢?

        当然,C语言是高级语言的基础,避免不了,高级语言或许应该也是Debug开头的吧?O(∩_∩)O哈哈~

       

       1.将应用程序属性中 输出类型 改成 控制台应用程序(默认是 Windows应用程序,在Release版本时记得改回来)。

       2.更改窗体的构造函数如下:

              

         public Form1()
        {
            InitializeComponent();

            Debug.Listeners.Add(new ConsoleTraceListener());
        }

      3.在需要显示调试信息的地方使用下面函数:

       

        Debug.Write()

     或

         Debug.WriteLine()

      当然还有其它的函数可供使用。

   记得引入:using System.Diagnostics;