禁用Microsoft的Visual C ++运行时错误
-
20-09-2019 - |
题
如果我的应用程序崩溃,一个Microsoft Visual C ++运行时库“运行时错误!”发生。
该消息的文本是:结果 这一个应用已请求运行时以不寻常的方式来终止。结果 请联系应用程序的支持团队以获取更多信息。
我知道,我需要解决所有这些问题,但我想,这个错误并没有出现过去。有没有在Visual Studio 2005中启用/禁用此类错误(处理)的选项?相反,我预期该应用程序只是崩溃/退出,并提供一个微软Windows错误报告。
解决方案
如果一个异常没有被处理和unexpected()
被调用或如果一个异常堆栈展开和terminate()
期间逸出析构函数被调用出现此错误消息。这两个导致abort()
被称为及其abort()
执行,显示消息框。此行为是在VS2k3,VS2k5和VS2k8设计。这确实是烦人特别是在应用意味着无需人工干预运行(如每日构建例如)。
您可以解决此问题 - 使用catch(...)
捕获所有异常在最高级别,并设置自己的terminate()
处理程序使用set_terminate()
其他提示
使用:
_set_abort_behavior( 0, _WRITE_ABORT_MSG);
不隶属于 StackOverflow