查找 VS 输出窗口中显示的异常源 [重复]

Posted

技术标签:

【中文标题】查找 VS 输出窗口中显示的异常源 [重复]【英文标题】:Find source of Exception shown in VS output window [duplicate] 【发布时间】:2016-03-14 08:10:31 【问题描述】:

在 VS2013 中运行我的应用程序时出现异常:

“System.InvalidOperationException”类型的第一次机会异常 发生在 mscorlib.dll 中

“System.InvalidOperationException”类型的第一次机会异常 发生在 mscorlib.dll 中

由于我的应用程序没有崩溃,因此在任何地方都可以捕获此异常,一切都“正常”。 但我真的很想找到导致这个异常的代码部分来解决这个问题。

我可以做些什么来找出我的代码的哪一部分引发了这个异常或者它发生在哪里。有没有办法在 VS 中显示/可视化它?调试器选项?

【问题讨论】:

这篇文章会回答你的问题,***.com/questions/4393092/… 您可以通过勾选 Thrown 复选框来停止调试器。实际上看到引发异常的代码,这种情况发生的可能性要小得多,因为您没有 mscorlib.dll 的源代码。您必须从调用堆栈调试器窗口和参考源网站的内容对其进行逆向工程。 【参考方案1】:

我可以做些什么来找出我的代码的哪一部分引发了这个异常或者它发生在哪里。有没有办法在 VS 中显示/可视化它?调试器选项?

在 Visual Studio 中,选择 Debug,然后选择 Exceptions

Exceptions窗口中,勾选Common Language Runtime Exceptions行上的Thrown

点击确定

现在,无论何时抛出异常,调试器都会在有问题的行上中断。您还可以扩展选择以仅包括感兴趣的例外。

Visual Studio 2017

您可以在 Debug.Windows.Exception 设置

下找到它

【讨论】:

这个窗口在 VS2015 中被移动了。它位于调试 -> Windows -> 异常设置。 谢谢@Daryl。 谁动了我的奶酪?!的另一个很好的例子。 ;) @drewmerk 是的,没错。我想我第一次看到安装程序的概念并选择要安装的组件。 如果每个 SO 评论/解决方案都像这个一样详细和有用。感谢@mickyd。 @Chase 非常感谢!我的荣幸:)

以上是关于查找 VS 输出窗口中显示的异常源 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

vs.net 首次异常过滤器

在列中查找重复条目 [重复]

在 VS Code 中使用 Jupyter 笔记本时如何摆脱重复的“修改设置”弹出窗口?

PostgreSQL 如何查找并删除重复数据

PostgreSQL 如何查找并删除重复数据

PostgreSQL 如何查找并删除重复数据