此应用程序已请求Runtime以不寻常的方式终止它。

时间:2011-03-22 18:09:39

标签: c++ windows crash

多年来,我看到C ++应用程序在崩溃中采用了“不寻常的方式”语言。例如:

  

此应用程序已请求Runtime以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。

我调试的第一个,它与一个已经被删除的继承链中为类触发的析构函数有关。我不记得比这更好的细节了。当我谷歌这个话题时,我发现了一两个其他建议的原因。例如,二进制文件本身已经损坏,必须重写。

总的来说,我发现这种崩溃的信息太薄了。我想看两件事:

  1. 正式解释为何存在此类终止(以及哪些Windows平台,如果相关)。
  2. 所有原因的列表,或至少是出现此类崩溃的原因的常见原因。
  3. 任何人都知道可以找到这些信息的位置?任何人都可以提供这些信息吗?

1 个答案:

答案 0 :(得分:10)

此对话框由visual studio运行时生成,以响应abort()。默认情况下,abort()被称为terminate()。你可以从例如未处理的c ++异常,调用纯虚函数,失败的断言。

因此,它不依赖于平台,而是依赖于运行时库。根据c ++标准,abort()需要终止程序而不执行自动和静态存储对象的析构函数,并且不需要调用atexit()处理程序。