在Visual Studio的早期版本中,您可以使用[DebuggerStepThrough]属性来忽略特殊方法中的异常,该方法由于某种原因无法避免(网络异常,例如,或者可能是解析失败)。 (见本主题:Don't stop debugger at THAT exception when it's thrown and caught)
现在Visual Studio在没有属性的情况下向我显示了调用函数的异常,即使它已被捕获和处理。
示例:
static void Main(string[] args)
{
ExceptionalMethod();
}
[DebuggerStepThrough]
static void ExceptionalMethod()
{
try
{
throw new Exception("BAM");
}
catch
{ }
}
此代码不应在VS 2013或更低版本中停止。与DebuggerHidden相同的行为。
是否有一个新技巧可以忽略这个例外?不忽略那种类型的所有例外吗?
答案 0 :(得分:4)
由于“在调试.NET代码时提高了性能”,Microsoft已停用该功能。
在Visual Studio 2015 Update 2中,可以通过更改注册表项来关闭/提升性能。
在命令行中输入以执行此操作:
reg add HKCU\Software\Microsoft\VisualStudio\14.0_Config\Debugger\Engine /v AlwaysEnableExceptionCallbacksOutsideMyCode /t REG_DWORD /d 1