C#语言还是比较常见的东西,这里我们主要介绍C#跟踪和调试语句,包括介绍设置你的listeners、发现那些重大bugs等方面。
设置你的listeners
.NET Framework有一个代表接收Debug、Assert和Trace输出的对象的Listeners集合。默认情况下,你的应用程序有一个单一的 DefaultTraceListener。这个listener忽略Debug和Trace输出,显示一个Assert消息的对话框。你可以添加项目到这个集合,或从这个集合中删除项目。已为你创建好的两项是TextWriterTraceListener和 EventLogTraceListener。TextWriterTraceListener把消息写到一个流(stream)中,EventLogTraceListener把消息写到一个EventLog中。EventLog可以让你把你的程序的调试和跟踪消息写到系统事件日志记录中。
我喜欢为所有程序建一个调试日志文件:
- static void Main ()
- {
- Debug.Listeners.Add (
- New TextWriteTraceListener
- ("MyLog.log");
- // etc.
为什么用这个方法? 该技巧可以让你控制在哪里用调试和跟踪语句。
在你发现bugs时,用这些技巧
坦白地说,在开始写代码时,没有人用所有这些技巧。实际上,当我们努力想发现那些重大bugs的原因时我们通常添加这些语句。在你陷入那种困境时,尝试以下方法:
1. 当你创建类时,通常为每个类建一个跟踪开关。
2. 通常为每个类建一个验证函数。
3. 当你要诊断错误的行为时,添加其它的C#跟踪和调试语句。
确信把这些变化保留在代码中。我发现的最常见的错误之一就是:当程序员想找到bugs时,他们添加许多C#跟踪和调试语句来发现错误。然后,一旦他们找到了他们查找的错误,他们就把这些语句删掉。
【编辑推荐】