.net知识和学习方法系列(十三)Debug和Trace
2008-06-24 08:20
344 查看
Debug类和Trace类都位于System.Diagnostics。
Debug类提供一组帮助调试代码的方法和属性。Trace类提供一组帮助跟踪代码执行的方法和属性,通俗的说就是为在不打断程序的调试或跟踪下,用来记录程序执行的过程。两个类都是密封类,不能被继承。
Debug类的例子(代码A):
1 TextWriterTraceListener myListener=new TextWriterTraceListener(“F:""DebugLog.txt”);
2 Debug.Listeners.Add(myListener);
3 Debug.WriteLine("这是调试");
4 Debug.Flush();
5 Listener.Flush();
6
Trace类的例子(代码B):
1 TextWriterTraceListener myListener=new TextWriterTraceListener("F:""TraceLog.txt");
2 Trace.Listeners.Add(Listener);
3 Trace.WriteLine("这是跟踪");
4 Trace.Flush();
5 Listener.Flush();
这两个类有什么区别呢?
首先我们设置程序为调试方式,如下图所示
用代码A测试,会发现F:"DebugLog.txt中有内容,为“这是调试”,如果用代码B测试,会发现F:"TraceLog.txt中有内容,为“这是跟踪”。
现在,我们设置程序为发布方式,如下图所示
同样用A,B两段代码测试,会发现,F:"DebugLog.txt中是没有内容的,但F:"TraceLog.txt中还是“这是跟踪”的文字。这里说明了一点,Debug类的内容输出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace类则都起作用。 本文出自 “桂素伟” 博客,请务必保留此出处http://axzxs.blog.51cto.com/730810/149983
Debug类提供一组帮助调试代码的方法和属性。Trace类提供一组帮助跟踪代码执行的方法和属性,通俗的说就是为在不打断程序的调试或跟踪下,用来记录程序执行的过程。两个类都是密封类,不能被继承。
Debug类的例子(代码A):
1 TextWriterTraceListener myListener=new TextWriterTraceListener(“F:""DebugLog.txt”);
2 Debug.Listeners.Add(myListener);
3 Debug.WriteLine("这是调试");
4 Debug.Flush();
5 Listener.Flush();
6
Trace类的例子(代码B):
1 TextWriterTraceListener myListener=new TextWriterTraceListener("F:""TraceLog.txt");
2 Trace.Listeners.Add(Listener);
3 Trace.WriteLine("这是跟踪");
4 Trace.Flush();
5 Listener.Flush();
这两个类有什么区别呢?
首先我们设置程序为调试方式,如下图所示
用代码A测试,会发现F:"DebugLog.txt中有内容,为“这是调试”,如果用代码B测试,会发现F:"TraceLog.txt中有内容,为“这是跟踪”。
现在,我们设置程序为发布方式,如下图所示
同样用A,B两段代码测试,会发现,F:"DebugLog.txt中是没有内容的,但F:"TraceLog.txt中还是“这是跟踪”的文字。这里说明了一点,Debug类的内容输出,只在Debug模式下生成的exe中起作用,如果改成Release模式下生成的exe,就失去了作用,Trace类则都起作用。 本文出自 “桂素伟” 博客,请务必保留此出处http://axzxs.blog.51cto.com/730810/149983
相关文章推荐
- .net知识和学习方法系列(十三)Debug和Trace
- .net知识和学习方法系列(十四)TraceListener的应用
- .net知识和学习方法系列(十四)TraceListener的应用
- .net知识和学习方法系列(二十)CLR-委托
- .net知识和学习方法系列(八)static
- .net知识和学习方法系列(十七)CLR-CLR中的值类型和引用类型
- .net知识和学习方法系列(十二)窗体的讲解与学习
- .net知识和学习方法系列(九)委托异步调用方法a
- .net知识和学习方法系列(八)static
- .net知识和学习方法系列(前言)
- .net知识和学习方法系列(十二)窗体的讲解与学习
- .net知识和学习方法系列(十)委托异步调用方法b
- .net知识和学习方法系列(二十一)CLR-枚举
- .net知识和学习方法系列(十五)类型,对象,堆栈和托管堆
- .net知识和学习方法系列(十八)CLR-构造函数
- .net知识和学习方法系列(前言)
- .net知识和学习方法系列(十九)CLR-事件
- .net知识和学习方法系列(二十一)CLR-枚举
- .net知识和学习方法系列(十五)类型,对象,堆栈和托管堆
- .net知识和学习方法系列(十八)CLR-构造函数