过去,如果异常被引发并在
调用堆栈中传播得足够远,Application的主循环将处理它并为您提供一个对话框.在
Windows Vista下,这种行为似乎被打破了.如果任何异常达到该级别,Vista会介入,并表示该程序“已停止工作”,此时它曾完全能够在XP下继续运行. (这就是主循环中异常处理程序存在的全部原因,为了上帝的缘故!)
有没有什么办法解决这一问题?最好是在我的代码本身而不仅仅是在我的计算机上,所以它不会搞砸其他系统?
检查以确保System,JITEnable中的
全局变量仍设置为0.如果该变量设置为1,则硬件(和外部)异常将通过
调用UnhandledExceptionFilter导致该行为.如果设置为2,则任何异常都将导致它.