在包含多个await语句的调用堆栈中,当引发异常时,调试器将在每个await语句处继续显示错误。我想知道是否有一种方法可以让调试器仅显示引发异常的初始位置,而不会在等待时停止。
答案 0 :(得分:1)
System.Diagnostics.DebuggerHidden
属性如何?此属性用于在调试器中隐藏方法或属性,这也可以防止调试器拦截异常。
[System.Diagnostics.DebuggerHidden]
private static void SecretRun(IEnumerable<int> ints)
{
foreach (var i in ints)
{
try
{
if (i < 50) Console.WriteLine("next" + i);
else throw new Exception("some exception");
}
catch
{
// Ignored
}
}
}
缺点::您将无法调试带有DebuggerHidden
属性标记的方法。
要使用此属性,您需要在Tools > Options > Debugging > General
上选中“启用我的代码”
答案 1 :(得分:0)