我们的单元测试会触发子进程,有时这些子进程会崩溃.发生这种情况时,会弹出一个Windows错误报告对话框,并且该过程保持活动状态,直到手动关闭该过程.这当然可以防止单元测试终止.
如何避免这种情况?
这是Win7中的一个示例对话框,其中包含常用设置:

如果我禁用了AeDebug注册表项,JIT调试选项就会消失:

如果我禁用检查解决方案(我似乎只能通过控制面板控制),它看起来像这样,但仍然出现并仍然停止程序死亡直到用户按下某些东西.记录WerAddExcludedApplication也具有此效果.

我们的构建服务器(TeamCity,非常推荐)在我们完成的c ++程序上运行我们的一大堆测试套件.
一旦进入整体,测试会导致我们的程序崩溃,通常会打开一个VisualStudio对话框,让我向JustInTime调试崩溃.该对话框将阻止buildserver继续进行.它只是挂起而不是标记为失败的构建.我已经关闭了VisualStudio中的即时调试功能,但是当它关闭时,你仍然会收到一条消息"无法JustinTime调试这个,你可以在选项中打开它".
有没有人知道确保程序中任何未处理的异常不会导致任何模态对话的方法?
这可能不是纯粹与编程相关的问题,但我经常在开发过程中遇到这个问题.当我的应用程序崩溃并且我选择杀死它时,Windows会自动抛出"正在检查解决方案......"对话框.当我点击取消按钮时,我得到另一个对话框,显示"重新启动程序......"有没有办法防止这种行为?当我停止一个应用程序时,我更喜欢它,如果它被默默杀死.如果平台很重要,我正在使用Windows 7.