Visual studio 2010 为什么';Visual Studio 2010是否因未处理的异常而中断?

Visual studio 2010 为什么';Visual Studio 2010是否因未处理的异常而中断?,visual-studio-2010,exception-handling,debugging,Visual Studio 2010,Exception Handling,Debugging,当我的程序中抛出异常,并且该异常未经处理时,我希望调试器会打断我的程序,并向我说明问题所在。这不会发生。相反,我的程序只是退出,调试停止 如果我查看调试输出,我可以看到我的异常: 类型的第一次机会例外 “System.NullReferenceException” 发生在System.dll中 我正在使用Visual Studio 2010 Visual Basic编写一个简单的WinForms应用程序。在这种情况下,代码并不重要。。。到目前为止,我所看到的任何例外都会发生 我在网上读了很多关于

当我的程序中抛出异常,并且该异常未经处理时,我希望调试器会打断我的程序,并向我说明问题所在。这不会发生。相反,我的程序只是退出,调试停止

如果我查看调试输出,我可以看到我的异常:

类型的第一次机会例外 “System.NullReferenceException” 发生在System.dll中

我正在使用Visual Studio 2010 Visual Basic编写一个简单的WinForms应用程序。在这种情况下,代码并不重要。。。到目前为止,我所看到的任何例外都会发生

我在网上读了很多关于调试菜单、单击异常以及启用“未处理的用户异常中断”的内容,但我没有看到这个选项。我认为此建议适用于VS2008,不再适用

我还应该注意,我没有运行任何单元测试。我从来没有设置过它们。然而,我已经读到,也许单元测试人员正在接受我的异常

请告诉我如何更改Visual Studio的行为,以便我可以跟踪这些未处理的异常


感谢您抽出时间。

该项可能不在菜单中,您可以通过自定义菜单并将该项添加到“调试”菜单来修复该问题

您还应该能够使用CTRL+ALT+E进入异常菜单


您需要在公共语言运行时异常(CLR)的“抛出”列中勾选该框。

我也有同样的问题。我打开了异常对话框并点击了“将列表恢复到默认设置”按钮,现在它在未处理的异常上正确地中断


从2013年开始升级可能有一个bug。

谢谢Sohnee。为了澄清这一点,我在debug菜单上看到异常,并可以将其拉出来。我所看到的只是C++、CLR、管理调试助手等选项。搜索用户的任何东西都没有什么价值。你需要在“抛出”列中勾选共同语言运行时异常(CLR)的框。这将确保您在出现所有错误时中断。我将把这个细节添加到答案中。@Sohnee,现在可以了,谢谢。这是否也会破坏已处理的异常?如果是这样,是否可以仅在未处理的异常时使其中断?第二列用于未处理的异常-默认情况下,它通常被勾选。。。虽然在启用此选项的情况下没有看到抛出异常,但您可能会发现堆栈中还有一个try/catch。如何设置抛出时哪些异常会中断的默认设置?您是否运行64位版本的Windows?@Cody,不,我使用的是Windows XP SP3,32位。在我的情况下,这是Visual Studio 2010,但很高兴知道它在以后的版本中得到了修复。