visual-studio - Visual Studio 调试 - 忽略一个地方的异常,同时在其他地方打破它?

标签 visual-studio debugging exception

我有一些代码在一个特定行上生成大量 ArgumentException(位于不同开发人员的代码中,因此我不能只是更改它),然后将其捕获并进行适当处理。

我正在尝试调试在不同代码部分中发生的 ArgumentException(然后捕获并处理,因此我不能只查看未处理的异常)。

是否有某种方法可以忽略源自该特定其他代码行的 ArgumentException,同时仍然中断其他地方抛出的 ArgumentException?

最佳答案

您也许能够做到这一点,但这取决于您要调试的代码相对于其他开发人员的代码的位置,以及您是否可以修改(但不能提交更改)他的代码。

您要做的第一件事是,至少暂时转到菜单工具 -> 选项 -> 调试 Visual Studio,然后勾选“仅我的代码”框。我认为即使在 Express 版本中也可以使用此功能,但也可能不可用,如果您无法使用它,恐怕我所说的其余内容可能不会有帮助。

无论如何,一旦您勾选了该选项,您将不再看到非“您的”代码的抛出中断通知。这意味着代码来自不在 .sln 中的程序集,或者使用 System.Diagnostics 中的 [DebuggerNonUserCode] 属性标记的代码。然后,我通常做的是使用 [DebuggerNonUserCode] 暂时修饰有问题的方法,直到完成调试需要调试的内容,然后在 checkin 源控件之前恢复这些更改。

它并不像我想要的那么优雅(我喜欢异常助手中的“不再中断此站点的抛出”复选框),但总比没有好。

我相信可能还有其他调试器设置可以与“Just My Code”的工作方式进行交互,因此如果这对您不起作用,请告诉我,我会尝试更准确地了解我的设置当我这样做时看起来就像这样。

关于visual-studio - Visual Studio 调试 - 忽略一个地方的异常,同时在其他地方打破它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1644780/

相关文章:

c++ - 调试器已附加 - cscript

c# - SQLiteConnection DisposedObject

python - 处理捕获的异常并将其引发到 try block 之外的正确方法是什么

perl - CPAN 模块中的 `eval` ing 没有本地化 $@ 是一个错误吗?

visual-studio - 如何在 xsl :param? 中转义分号

vb.net - 如何在任务栏上显示图标而不是在表单本身上显示图标?

c++ - MinGW64 - Unicode 源文件错误?

javascript - 滚动打开的 Bootstrap 模式时触发事件

c# - 如何将当前 VS 主题应用于现有控件

linux - ip(null)时如何判断段错误发生在什么地方?