System.Diagnostics命名空间里的Debug类和Trace类的用途【转】

  在 .NET 类库中有一个 System.Diagnostics命名空间,该命名空间提供了一些与系统进程、事件日志、和性能计数器进行交互的类库。当中包括了两个对开发人员而言十分有用的类Debug类和Trace类。本文介绍了这两个类的一些基本用途,旨在提高广大开发人员的开发效率。

  目录

  • 使用Debug类来帮助调试
  • Debug类和Trace类的区别
  • 使用Trace类来做程序日志
  • 小结
  • 参考资料

  使用Debug类来帮助调试

  调试程序对每个程序员来说是家常便饭。可是我们会经常遇到一些情况让我们头疼,例如:

  • 当我们在开发一个界面控件的时候,简单的设断点会增加Paint事件的响应次数,而造成的环境参数改变。
  • 断点设多了,程序常常停在正常运行的地方;这样一来,调试一个错误要花费大量时间去寻找错误。

  这时,我们就需要利用System.Diagnostics.Debug类来帮助我们调试。我们可以通过调用Debug.WriteLine(String message)函数,将我们所关心的信息打印在Visual StudioIDE的Output窗口中。也可以利用Debug.Assert(bool condition)来让程序停在错误的地方,并且显示Callstack。

  Debug类中所有函数的调用都不会在Release版本里有效。也就是说,我们通过这种方法所加的代码可以仅用于调试;在发布的时候无需删任何代码,就可以给用户一个没有调试指令的程序了。

  下面的这个例子演示了这两个函数来帮助调试的方法:

  1、 新建一个Visual Studio C# Project,采用默认的项目名。

  2、 往Form1上拖一个label,并采用其缺省ID。

  3、 在Form1.cs中的Form1类中添加下面的函数代码:

代码
private int time=0;protected override void OnPaint(PaintEventArgs e){time++;this.label1.Text="OnPain called "+time.ToString()+" Times.";}protected override void OnResize(EventArgs e){System.Diagnostics.Debug.Assert(this.Width>200,"Width should be larger than 200.");System.Diagnostics.Debug.WriteLine(Size.ToString());}        
        

NET技术System.Diagnostics命名空间里的Debug类和Trace类的用途【转】,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。