我今天正在开发一个 Windows应用程序,当我的错误不再像往常那样显示时.相反,调试器只是跳出了方法.输出窗口记录异常,但不显示常用的弹出跟踪. 它适用于其他项目,我已将Dim i作为Int
它适用于其他项目,我已将Dim i作为Integer =“A”作为我尝试引发错误的第一行,但它只是退出该行上的sub.
有什么想法我怎么回来?
调试器和64位版本的Windows 7之间的交互存在一个错误,该错误在Load事件中发生. Windows会捕获并吞下异常,调试器永远不会有机会检测到它是未处理的.您将看到的唯一内容是“输出”窗口中的“第一次机会”通知. Load事件处理程序将立即终止并且程序保持运行,就好像什么也没发生一样,假设它没有绕过关键的初始化代码.这个bug已经存在了很长时间,并且为微软所熟知,显然很难解决.您可以使用“项目属性”,“编译”选项卡,向下滚动,“高级编译选项”按钮解决此错误.将目标CPU设置更改为“AnyCPU”.捕获它的另一种方法是使用Debug Exceptions,勾选CLR Exceptions上的Thrown复选框.另一种解决方法是将初始化代码放在构造函数中而不是OnLoad()或Load事件中.当您需要知道窗口的实际大小时,您才真正需要加载.
只有在调试时才会出现此错误.它不会发生在用户的计算机上.
更新:我在this post的这次事故中扩大了很多.