我希望能够在调试时中断异常...就像在 Visual Studio 2008 的菜单调试/异常对话框中一样,除了我的程序在到达我想要调试的位之前有许多有效的异常。
因此,不必每次都使用对话框手动启用和禁用它,是否可以使用 #pragma 或其他方法自动执行此操作,以便它只发生在特定的代码段中?
执行类似操作的唯一方法是将 DebuggerNonUserCode 属性放在您的方法上。
这将确保标记方法中的任何异常都不会导致异常中断。
很好的解释它here http://blog.functionalfun.net/2008/05/debuggernonusercode-suppressing.html...
这是一个针对方法的属性,用于告诉调试器“与我无关,guv。这不是我的代码!”。容易受骗的调试器会相信您,并且不会中断该方法:使用该属性会使调试器完全跳过该方法,即使您正在单步调试代码;发生并随后在方法中捕获的异常不会中断调试器。它将把它视为对框架程序集的调用,并且如果未处理异常,则会在调用该方法的代码中的调用堆栈上一级报告该异常。
代码示例:
public class Foo
{
[DebuggerNonUserCode]
public void MethodThatThrowsException()
{
...
{
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)