如何在 C# 中使用 DebugBreak()?
语法是什么以及需要导入哪个名称空间/类? 如果可能的话给我示例代码。 这会有很大的帮助。
What is the syntax and which namespace/class needs to be imported? Give me sample code if possible. It would be of great help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
将以下内容放在您需要的地方:
Put the following where you need it:
https://learn.microsoft.com/ zh-cn/dotnet/api/system.diagnostics.debugger.break#System_Diagnostics_Debugger_Break
https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.debugger.break#System_Diagnostics_Debugger_Break
@Philip Rieck 和 @John 的答案略有不同。
约翰的...
仅当使用 DEBUG 条件编译符号集进行编译时才有效。
菲利普的回答...
适用于任何调试器,因此您也会给任何黑客带来一点恐惧。
另请注意它可能抛出的
SecurityException
,因此不要让该代码泄露出去。另一个不去的理由...
来自 https://msdn .microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx
The answers from @Philip Rieck and @John are subtly different.
John's ...
only works if you compiled with the DEBUG conditional compilation symbol set.
Phillip's answer ...
will work for any debugger so you will give any hackers a bit of a fright too.
Also take note of
SecurityException
it can throw so don't let that code out into the wild.Another reason no to ...
from https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx
您可以使用 System.Diagnostics.Debugger.Break() 在特定位置进行中断。 这在调试服务等情况下很有帮助。
You can use
System.Diagnostics.Debugger.Break()
to break in a specific place. This can help in situations like debugging a service.我还喜欢检查调试器是否已附加 - 如果在没有调试器时调用 Debugger.Break,它会提示用户是否要附加调试器。 根据您想要的行为,您可能希望仅在(或未附加)已附加时调用 Debugger.Break()
I also like to check to see if the debugger is attached - if you call Debugger.Break when there is no debugger, it will prompt the user if they want to attach one. Depending on the behavior you want, you may want to call Debugger.Break() only if (or if not) one is already attached