DebugBreak()在C#中等效
在C#中有任何等同于DebugBreak()的语句。 我希望在满足特定条件时调用调试器。
请帮忙
您可以在System.Diagnostics命名空间中使用Debugger类的Break方法:
Debugger.Break();
现在,您还可以通过不同的方式添加条件断点,而无需在项目中添加代码。
这当然只有在已经通过调试器运行程序时才有效
您可以做的是首先在您希望调试器停止的位置添加常规断点,然后右键单击断点的红点:
然后编辑条件以满足您的需求:
然后用断点点内的小+表示符号:
关于其他答案,我更喜欢使用Debugger.Launch()。 如果应用程序尚未在调试器中运行,则Launch()将调用调试器对话框,允许您将Visual Studio(或其他调试器)附加到该进程。 但是,如果您已经在调试,它将直接通过Debugger.Launch()调用。 另一方面,Break()将充当断点 – 每次碰到该点时都会断开(如果尚未附加进程,则调用调试器对话框)。
请务必小心不要在代码中留下任何一个语句。 使用Debugger调用生产代码可以暂停您的应用程序或创建非常难以追踪的错误。 (上个月的糟糕经历)
System.Diagnostics.Debugger.Break(); //Lauches the JIT debug window System.Diagnostics.Debugger.Launch();
这在调试服务时特别有用,因为您获得了Just In Time调试器窗口,然后可以选择visual studio窗口来调试服务
也许Debugger.Break
System.Diagnostics.Debugger.Break();
MSDN上的这篇文章提供了对这个问题的见解。 http://blogs.msdn.com/b/calvin_hsia/archive/2006/08/25/724572.aspx