我应该在Debugger.Break或Debug.WriteLine之前检查Debugger.IsAttached吗?

10 .net c# debugging

我想知道if(Debugger.IsAttached)在调用其他Debug和Debugger函数之前是否应该调用它?

if(Debugger.IsAttached) { Debugger.Break(); }
Run Code Online (Sandbox Code Playgroud)

Debugger.Break() // Without checking if Debugger is actually attached
Run Code Online (Sandbox Code Playgroud)

dle*_*lev 13

这取决于你调用Break()方法的原因.根据文件:

如果未附加调试器,则会询问用户是否要附加调试器.

如果您不想打扰当前未调试的用户,则应首先测试附件.如果你不在乎(或者实际上想要提示),那就不要检查.

  • @Jaakko我相信这是正确的.调试器可以连接到发布模式编译的程序(虽然它们的实用程序已经减少,因为发布模式不会生成.pdb文件或有用的`nop`s.) (2认同)