Trace与Debug类的特性

1、首先总结一下Trace与Debug类的特性: 

A、用法基本相同,只是Debug是在Debug本版本下使用,在Release版本下不会生成代码,而Trace在默认情况下是打开的,也就是说在Debug版本和Release版本下都会生成代码。 

 B、都是sealed类,不能被继承,如果这两个类不能满足应用要求的话只能自己实现相关功能,重新编写所有方法,不能继承这两个类。2、从特性上可以看出,该两个类用法基本相同,研究并掌握Trace与Debug类,对各类软件调试、寻找Bug会有很大帮助。 

3、跟踪是一种在应用程序运行时监视其执行情况的方式。当开发.NET应用程序时,可以在其中添加跟踪和调试检测功能,并且在开发应用程序时和部署应用程序后,都可以使用该检测功能。利用Trace和Debug类,可以将有关错误和应用程序执行的信息记录到日志、文本文件或其他设备中,以便在随后进行分析。 在应用程序中“插入检测点”对于分布式应用程序尤其有用,其方法是将跟踪语句放在代码中的关键位置。利用跟踪语句可以在应用程序中插入检测点,这样不仅可以在出错时显示信息,而且还可以显示相应的信息来监视应用程序的执行情况。 

4、以下链接中提供了实现文件保存跟踪信息的FileStreamWithBackup类,可实现跟踪信息的保存、跟踪信息文件的文件大小控制、文件备份、加入跟踪信息对应的时间信息,可以实现对程序调试运行状态的更全面跟踪。源码:http://www.codeproject.com/KB/dotnet/CustomNetTraceListeners/CustomNetTraceListeners_src.zip下面是应用FileStreamWithBackup类的实例。 

 /// <summary> 

/// The main entry point for the application. 

/// </summary> 

[STAThread] 

 static void Main(string[] args) { 

        FileStreamWithBackup fs = new FileStreamWithBackup("MyTrace.txt", 300, 10, FileMode.Append); 

       fs.CanSplitData = false; 

        TextWriterTraceListenerWithTime listener = new TextWriterTraceListenerWithTime(fs); 

       Trace.AutoFlush = true; 

       Trace.Listeners.Add(listener); 

      Trace.Assert(true, "Assertion that should not appear"); 

      Trace.Assert(false, "Assertion that should appear in a trace file"); 

      Trace.WriteLine(123, "Category 1"); 

      Trace.WriteLineIf(true, "456", "Category 2"); 

      Trace.WriteLineIf(false, 789, "Category 3 (should not appear)"); 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值