如何在退出时出现应用程序错误时禁用我收到的对话框? “未知的软件异常0xc0020001”

时间:2012-04-02 20:27:23

标签: windows error-handling windows-error-reporting

我的单元测试出错了,它挂起了我的TeamCity持续集成。我怎么能无头地犯错?修复错误是一个单独的问题,请不要告诉我。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案很可能使用SetErrorMode(至少 - SEM_NOGPFAULTERRORBOX)来关闭任何此类错误对话框(请参阅MSDN文档中的标记)并默默地终止进程

另一个选择是安装自己的顶级异常处理程序。在XP及更新版本中,您可以使用vectored exception handling。在包括那些较新的系统的任何系统上,您都可以使用SetUnhandledExceptionFilter

Richter和Nasarre撰写的“Windows via C ++”第五部分,尤其是第25章,详细讨论了该主题。 WER和顶级异常处理程序的特定主题也在“高级Windows调试”中讨论(尽管从不同的角度来看)。