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

Bre*_*ias 8 c++ windows crash

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

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

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

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

  1. 正式解释为何存在此类终止(以及哪些Windows平台,如果相关).
  2. 所有原因的列表,或至少是出现此类崩溃的原因的常见原因.

有谁知道这些信息可以在哪里找到?有人能提供这些信息吗?

Eri*_*rik 10

该对话框由visual studio运行时生成,以响应abort().abort()默认情况下由例如调用terminate().您将从例如未处理的c ++异常,调用纯虚拟,失败的断言中获得此信息.

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