如果我的应用程序崩溃,一个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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top