Visual Studio 2010调试器不再停止出错

时间:2011-07-11 16:24:01

标签: vb.net visual-studio-2010 debugging

我今天正在开发一款Windows应用,当我的错误不再像往常一样显示时。相反,调试器只是跳出了方法。输出窗口记录异常,但不显示常用的弹出跟踪。

它适用于其他项目,并且我已将Dim i as Integer = "A"作为我的第一行来尝试引发错误,但它只是退出该行上的sub。

我是如何回来的?

3 个答案:

答案 0 :(得分:11)

调试器和64位版本的Windows 7之间的交互中存在一个错误,该错误在Load事件中发生。 Windows会捕获并吞下异常,调试器永远不会有机会检测到它是未处理的。您将看到的唯一内容是“输出”窗口中的“第一次机会”通知。 Load事件处理程序将立即终止并且程序保持运行,就好像什么也没发生一样,假设它没有绕过关键的初始化代码。这个bug已经存在了很长时间,并且为微软所熟知,显然很难解决。

您可以使用Project + Properties,Compile选项卡,向下滚动,Advanced Compile Options按钮解决此错误。将目标CPU设置更改为“AnyCPU”。捕获它的另一种方法是使用Debug + Exceptions,勾选CLR Exceptions上的Thrown复选框。另一种解决方法是将初始化代码放在构造函数中而不是OnLoad()或Load事件中。当您需要知道窗口的实际大小时,您才真正需要加载。

此错误只会在您调试时触发。它不会发生在用户的计算机上。


更新:我在this post中对此次事故进行了大量扩展。

答案 1 :(得分:7)

在Debug-> Exceptions下检查是否检查了公共语言运行时异常。

答案 2 :(得分:3)

您的.suo文件是否已被删除(这是存储您的个人解决方案状态,您的设置,展开/折叠的文件的文件)。如果您突然发现必须点击“全部崩溃”,因为它已经忘记了,它会在您打开解决方案时重新创建,但是会使用默认设置进行重建。

如果是这样,请按CTRL + ALT + E并在CLR例外的异常复选框上重新勾选。