异常STATUS_FATAL_APP_EXIT(0x40000015)

时间:2021-12-27 06:09:12

简介

STATUS_FATAL_APP_EXIT,值为0x40000015。代表的意思是"致命错误,应用退出"。它定义在 ntstatus.h头文件里,如下:

//
// MessageId: STATUS_FATAL_APP_EXIT
//
// MessageText:
//
// {Fatal Application Exit}
// %hs
//
#define STATUS_FATAL_APP_EXIT            ((NTSTATUS)0x40000015L)    // winnt

触发条件

应用关闭期间,应用程序产生了未处理的运行时异常。如果您自己不处理这些运行时异常,则实际上某些运行时异常会被默认处理,而这些默认处理程序中的有一些会调用abort()。默认情况下,就是中止调用:

_call_reportfault(_CRT_DEBUGGER_ABORT, STATUS_FATAL_APP_EXIT, EXCEPTION_NONCONTINUABLE);

abort是一个通用的终止-它不知道是什么特定的异常促使它被调用,因此出现了通用的“未知软件异常”消息。常见的情况是是通过pure call异常-调用未实现的纯虚拟调用。

异常结构填充

ExceptionAddress: 0x0f3db2b2{msvcr120.dll!abort(void),Line90}
ExceptionCode: 40000015//错误代码
ExceptionFlags: 00000001
NumberParameters: 0//附加参数个数,根据经验来看,abort函数里引发的一般都是0