【发布时间】:2009-12-20 22:22:06
【问题描述】:
我正在编写一个不使用 .NET 的 MFC 应用程序(CLR 支持在项目设置中设置为 No Common Language Runtime support)。但是,当我在 Release 版本中退出应用程序时,我得到了一个 SEHException。 Debug build 给了我一个断言错误,但是错误窗口在弹出后大约半秒后消失(我以前也没有遇到过)所以我没有机会查看它。
所以主要问题是:没有任何托管代码的应用程序如何抛出 Interop.SEHException?
【问题讨论】:
-
异常是否总是发生,还是仅在您从 Visual Studio 运行时(即附加调试器时)发生?
-
它总是发生。当我从 VS 运行它时,出现异常框。但是,当我将它作为独立应用程序运行时,会弹出一个 C 运行时错误,但同样只有一秒钟。
-
消失的 exc。盒子很奇怪,您是否运行了一些软件可以消除某些盒子?是否可以使用推论:除一点外全部删除并逐个添加,直到再次发生错误?可能的驱动程序问题(我曾经在 Windows 驱动程序更新损坏时遇到过类似的行为)?