禁用Microsoft Visual C ++运行时错误

时间:2009-12-21 07:39:03

标签: visual-studio visual-c++ runtime-error

如果我的应用程序崩溃,则Microsoft Visual C ++运行时库“运行时错误!”发生。

信息的内容是:
该应用程序已要求运行系统以不寻常的方式终止 请联系应用程序的支持团队以获取更多信息。

我知道,我需要解决所有这些问题,但我想这个错误并没有出现在过去。 Visual Studio 2005中是否有一个选项来启用/禁用此类错误(处理)?相反,我希望应用程序只是崩溃/退出并提供Microsoft Windows错误报告。

2 个答案:

答案 0 :(得分:9)

如果未处理异常并且调用unexpected()或者在堆栈展开期间异常转义析构函数并且调用terminate(),则会显示此错误消息。两者都会导致abort()被调用,其abort()实现会显示消息框。此行为是在VS2k3,VS2k5和VS2k8中设计的。它真的很烦人,特别是在没有人为干预的情况下运行的应用程序(例如每日构建)。

您可以解决此问题 - 使用catch(...)来捕获顶级的所有异常,并使用terminate()设置您自己的set_terminate()处理程序。

答案 1 :(得分:0)

使用:

_set_abort_behavior( 0, _WRITE_ABORT_MSG);