【发布时间】:2017-01-31 18:24:07
【问题描述】:
我希望调试器在以下情况下停止:
- 发生已处理或未处理的异常。
- 在具有 DebuggerStepThrough 或 DebuggerHidden 属性的函数中发生未处理的异常。调试器应在调用此函数的位置停止。
到目前为止没有问题,我可以让 Visual Studio 2015 像这样工作。但是,当具有 DebuggerStepThrough 或 DebuggerHidden 属性的函数内部发生 handled 异常时,调试器会在调用该函数的位置停止。 p>
我找不到解决此问题的方法。我不记得 Visual Studio 2010 或 2013 上的这种行为。我已经搜索过它,但没有发现有人问同样的问题。
【问题讨论】:
-
您要求调试器停止“第一次机会”异常。不错的功能,对于调试不应该吞下异常的代码非常重要。您可以简单地取消选中对话框中的“抛出此异常类型时中断”复选框。但您更有可能想要重置 Debug > Windows > Exception Settings。如果您想利用该属性,请重新打开“工具”>“选项”>“调试”>“常规”>“仅启用我的代码”。
-
我想你误会了。我已经尝试过这些,但无法解决我的问题。我确实希望调试器因异常而中断。但不希望它因 DebuggerHidden 函数中处理的异常而中断。
-
嗯,不,我很确定我完全明白你的意思。为什么你不想恢复我描述的设置很难猜到。照原样,您似乎还没有意识到您不小心更改了它们。如果您有意更改了它们,那么说明您这样做的原因很重要。
-
@Koray MSDN 文章实际上证明了你不是在想象事情,它也不是一个错误。解释和解决方法是最后一段。它是由调试性能特性引起的。也许您应该寻找最小化异常而不是忽略它们的方法?如果它们如此频繁以至于破坏会伤害您,它也会伤害运行时性能
标签: c# visual-studio-2015 visual-studio-debugging