winnt.h) (EXCEPTION_RECORD64 结构
描述异常。
语法
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
成员
ExceptionCode
发生异常的原因。 这是硬件异常生成的代码,或者是软件生成的异常的 RaiseException 函数中指定的代码。 下表描述了由于常见编程错误而可能发生的异常代码。
调试控制台进程时,可能会出现另一个异常代码。 它不会因为编程错误而出现。 当 CTRL+C 输入到处理 CTRL+C 信号的控制台进程并正在调试时,会出现DBG_CONTROL_C异常代码。 此异常代码不应由应用程序处理。 它仅为调试器的利益而引发,并且仅在将调试器附加到控制台进程时引发。
ExceptionFlags
异常标志。 此成员可以是零(表示连续异常)或 EXCEPTION_NONCONTINUABLE 表示不可连续异常。 在不可连续的异常后继续执行的任何尝试都会导致 EXCEPTION_NONCONTINUABLE_EXCEPTION 异常。
ExceptionRecord
指向关联的 EXCEPTION_RECORD 结构的指针。 异常记录可以链接在一起,以在发生嵌套异常时提供其他信息。
ExceptionAddress
发生异常的地址。
NumberParameters
与异常关联的参数数。 这是 ExceptionInformation 数组中定义的元素数。
__unusedAlignment
ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
描述异常的其他参数的数组。 RaiseException 函数可以指定此参数数组。 对于大多数异常代码,数组元素是未定义的。 下表描述了定义了数组元素的异常代码。
注解
若要使调试器能够调试在不同体系结构上运行的目标 (32 位与 64 位) ,请使用此结构的显式形式之一。
typedef struct _EXCEPTION_RECORD32 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD ExceptionRecord;
DWORD ExceptionAddress;
DWORD NumberParameters;
DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
标头 | winnt.h (包括 Windows.h) |