这两项任务需要Debugger类来完成。System.Diagnostics.Debugger类型可以允许我们和调试器互交。Debugger类型的成员不多也容易理解。(MSDN)
首先要通过IsAttached属性判断是当前进程是否附加了调试器。如果有的话,接着通过IsLogging方法判断是否当前附加调试器支持日志记录。如果两者都成立,变可以安全通过Log方法来记录消息了。Log的内容会显示在在Visual Studio输出窗口中。
最后Debugger.Break方法会迫使调试器在运行当前代码时做断点处理。
代码:
//+ using System.Diagnostics;
//判断是否附加调试器
//判断调试器是否支持消息日志
if (Debugger.IsAttached && Debugger.IsLogging())
{
//记录
Debugger.Log(1, "开玩笑", "这段代码得好好调试!");
//添加断点
Debugger.Break();
}
调试运行上面代码(可以直接按F5),Visual Studio会在Debugger.Break()这行代码上调试断点,而且输出窗口上会有我们自定义的信息,如下图: