Visual Studio调试托管代码
“输出”窗口中的诊断消息
可以使用 Debug 类或 Trace 类(属于 System.Diagnostics 类库)将运行时消息写到“输出”窗口。 如果只在程序的调试版本中输出,则使用 Debug 类。 如果要同时在调试版本和发布版本中输出,则使用 Trace 类。
输出方法
Trace 和 Debug 类提供下列输出方法:
在不中断执行情况下输出信息的各种 Write 方法。 这些方法取代了在 Visual Basic 早期版本中使用的 Debug.Print 方法。
Debug.Assert 和 Trace.Assert 方法,如果指定的条件失败,这些方法将中断执行并输出信息。 默认情况下,Assert 方法显示对话框中的信息。 有关更多信息,请参见托管代码中的断言。
Debug.Fail 和 Trace.Fail 方法,它们总是中断执行并输出信息。 默认情况下,Fail 方法在对话框中显示信息。
除了应用程序的程序输出外,**“输出”**窗口还可以显示下列信息:
调试器已经加载或卸载的模块。
引发的异常。
退出的进程。
退出的线程。
托管代码中的断言
断言(或 Assert 语句)测试您作为 Assert 语句的参数指定的条件。 如果此条件计算为 true,不发生操作。 如果此条件计算为 false,则断言失败。 如果正在调试版本中运行,则程序进入中断模式。
在 Visual Basic 和 Visual C# 中,可以使用方法调用,可以从 System.Diagnostics 命名空间下的 Debug 或 Trace 调用 Assert 方法。 在您的程序的发布版本中不包含 Debug 类方法,因此它们不增大或减小发布代码的速度。
C++ 不支持 Debug 类方法。 使用带有条件编译的 Trace 类(如 #ifdef DEBUG...)可获得同样的效果。 #endif.
Debug.Assert 方法
可随意使用 Debug.Assert 方法测试条件,如果代码正确,该条件应保持为真。 例如,假设已编写一个整数除法函数。 根据数学规则,除数永远不能为零。 可以使用断言测试该条件:
[C#]
- 上一篇: 仅通过转储来排除内存泄漏
- 下一篇: 使用Java中的InputStream读取文件数据