在C#中,有没有等价于DebugBreak()的语句?我希望在满足特定条件时调用调试器。
发布于 2011-01-19 17:51:08
您可以在System.Diagnostics命名空间中使用Debugger类的Break方法:
Debugger.Break();现在,还有一种不同的方法可以添加条件断点,而不需要在项目中添加代码。
当然,这只适用于已经通过调试器运行程序的情况
您可以做的是,首先在希望调试器停止的位置添加一个常规断点,然后右键单击断点的红点:

然后编辑条件以满足您的需要:

然后,这将在断点点内用一个小+符号来表示:

发布于 2011-01-19 18:06:32
关于其他答案,我更喜欢使用Debugger.Launch()。
如果应用程序尚未在调试器中运行,Launch()将调用调试器对话框,允许您将Visual Studio (或其他调试器)附加到进程。但是,如果您已经在进行调试,它将直接通过Debugger.Launch()调用。另一方面,Break()将充当断点-每次命中该点时都会中断(如果进程尚未附加,则调用调试器对话框)。
请非常小心,不要在代码中留下任何一条语句。将带有Debugger调用的代码发送到生产环境可能会导致应用程序停止,或者很难跟踪错误(上个月的糟糕体验)。
发布于 2011-01-19 17:53:31
System.Diagnostics.Debugger.Break();
//Lauches the JIT debug window
System.Diagnostics.Debugger.Launch();这在调试服务时特别有用,因为您会看到“即时调试器”窗口,然后可以选择visual studio窗口来调试服务。
https://stackoverflow.com/questions/4733763
复制相似问题