职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1116|回复: 1

c# trace debug

[复制链接]
jinchang 发表于 2009-8-27 09:37 | 显示全部楼层 |阅读模式
自学看C#入门经典
看到调试这章
不懂trace debug的区别
都有什么用的?就是在输出中显示那东西么?怎么感觉没什么用……返回为0正常 看不懂
那位通俗点介绍下


书上那例子看不清白
奇骏 发表于 2009-8-27 09:37 | 显示全部楼层

c# 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/do ... ceListeners_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)");
}
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-4-29 18:34 , Processed in 0.134406 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表