首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#中的DebugBreak()等效项

C#中的DebugBreak()等效项
EN

Stack Overflow用户
提问于 2011-01-19 17:48:06
回答 4查看 12.3K关注 0票数 30

在C#中,有没有等价于DebugBreak()的语句?我希望在满足特定条件时调用调试器。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-19 17:51:08

您可以在System.Diagnostics命名空间中使用Debugger类的Break方法:

代码语言:javascript
复制
Debugger.Break();

现在,还有一种不同的方法可以添加条件断点,而不需要在项目中添加代码。

当然,这只适用于已经通过调试器运行程序的情况

您可以做的是,首先在希望调试器停止的位置添加一个常规断点,然后右键单击断点的红点:

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

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

票数 41
EN

Stack Overflow用户

发布于 2011-01-19 18:06:32

关于其他答案,我更喜欢使用Debugger.Launch()

如果应用程序尚未在调试器中运行,Launch()将调用调试器对话框,允许您将Visual Studio (或其他调试器)附加到进程。但是,如果您已经在进行调试,它将直接通过Debugger.Launch()调用。另一方面,Break()将充当断点-每次命中该点时都会中断(如果进程尚未附加,则调用调试器对话框)。

请非常小心,不要在代码中留下任何一条语句。将带有Debugger调用的代码发送到生产环境可能会导致应用程序停止,或者很难跟踪错误(上个月的糟糕体验)。

票数 17
EN

Stack Overflow用户

发布于 2011-01-19 17:53:31

代码语言:javascript
复制
System.Diagnostics.Debugger.Break();

//Lauches the JIT debug window
System.Diagnostics.Debugger.Launch();

这在调试服务时特别有用,因为您会看到“即时调试器”窗口,然后可以选择visual studio窗口来调试服务。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4733763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档