2024年1月21日发(作者:)
异常崩溃码对照
硬件异常即由CPU引发的异常,Windows定义了以下的硬件异常代码:
异常 值 描述
程序企图读写一个不可访问的地址EXCEPTION_ACCESS_VIOLATION 0xC0000005 时引发的异常。例如企图读取0地址处的内存。
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
EXCEPTION_BREAKPOINT
EXCEPTION_DATATYPE_MISALIGNMENT
0xC000008C
0x80000003
0x80000002
数组访问越界时引发的异常。
触发断点时引发的异常。
程序读取一个未经对齐的数据时引发的异常。
如果浮点数操作的操作数是非正常EXCEPTION_FLT_DENORMAL_OPERAND 0xC000008D
的,则引发该异常。所谓非正常,即它的值太小以至于不能用标准格式表示出来。
EXCEPTION_FLT_DIVIDE_BY_ZERO 0xC000008E
浮点数除法的除数是0时引发该异常。
浮点数操作的结果不能精确表示成小数时引发该异常。
该异常表示不包括在这个表内的其它浮点数异常。
浮点数的指数超过所能表示的最大值时引发该异常。
进行浮点数运算时栈发生溢出或下溢时引发该异常。
浮点数的指数小于所能表示的最小值时引发该异常。
程序企图执行一个无效的指令时引发该异常。
程序要访问的内存页不在物理内存中时引发的异常。
整数除法的除数是0时引发该异常。
EXCEPTION_FLT_INEXACT_RESULT 0xC000008F
EXCEPTION_FLT_INVALID_OPERATION 0xC0000090
EXCEPTION_FLT_OVERFLOW 0xC0000091
EXCEPTION_FLT_STACK_CHECK 0xC0000092
EXCEPTION_FLT_UNDERFLOW 0xC0000093
EXCEPTION_ILLEGAL_INSTRUCTION 0xC000001D
EXCEPTION_IN_PAGE_ERROR
EXCEPTION_INT_DIVIDE_BY_ZERO
0xC0000006
0xC0000094
EXCEPTION_INT_OVERFLOW
EXCEPTION_INVALID_DISPOSITION
0xC0000095
0xC0000026
整数操作的结果溢出时引发该异常。
异常处理器返回一个无效的处理的时引发该异常。
发生一个不可继续执行的异常时,如果程序继续执行,则会引发该异常。
程序企图执行一条当前CPU模式不允许的指令时引发该异常。
标志寄存器的TF位为1时,每执行EXCEPTION_NONCONTINUABLE_EXCEPTION 0xC0000025
EXCEPTION_PRIV_INSTRUCTION 0xC0000096
EXCEPTION_SINGLE_STEP 0x80000004 一条指令就会引发该异常。主要用于单步调试。
EXCEPTION_STACK_OVERFLOW 0xC00000FD 栈溢出时引发该异常。


发布评论