语法是什么,需要导入哪个命名空间/类?如果可能的话,请给我一些示例代码。这将会非常有帮助。
语法是什么,需要导入哪个命名空间/类?如果可能的话,请给我一些示例代码。这将会非常有帮助。
我也喜欢检查调试器是否已经附加 - 如果您在没有调试器的情况下调用Debugger.Break,它会提示用户是否要附加一个。根据您想要的行为,您可能希望仅在已经附加(或未附加)时调用Debugger.Break()
using System.Diagnostics;
//.... in the method:
if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
Debugger.Break();
}
System.Diagnostics.Debugger.Break();
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
@Philip Rieck 和 @John 的答案略有不同。
John的...
#if DEBUG
System.Diagnostics.Debugger.Break();
#endif
只有在编译时设置了DEBUG条件编译符号才能正常工作。
Phillip的答案...
if( Debugger.IsAttached) //or if(!Debugger.IsAttached)
{
Debugger.Break();
}
这段代码可以在任何调试器上工作,因此也会让任何黑客感到害怕。
另外要注意SecurityException
可能会抛出异常,所以不要让这段代码被滥用。
还有一个原因是不要……
如果没有附加调试器,则会询问用户是否要附加调试器。 如果用户选择是,则启动调试器。 如果已附加调试器,则会向调试器发出用户断点事件,并且调试器暂停进程的执行,就像命中了调试器断点一样。
来自https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx
您可以使用System.Diagnostics.Debugger.Break()
在特定位置中断程序。这对于调试服务等情况非常有帮助。
#if DEBUG
加一分!如果开发人员在发布版本中保留了这段代码,那就太糟糕了。 - 23W