原文链接 -> 传送门
EXCEPTION_RECORD 结构:
EXCEPTION_RECORD 结构用于描述一个异常。
结构原型:
typedef struct _EXCEPTION_RECORD {
DWORD ExceptionCode;
DWORD ExceptionFlags;
struct _EXCEPTION_RECORD *ExceptionRecord;
PVOID ExceptionAddress;
DWORD NumberParameters;
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD, *PEXCEPTION_RECORD;
成员解析:
|
成员 |
含义 |
||||||||||||||||||||||||||||||||||||||||||
|
ExceptionCode |
1. 指明异常发生的原因
|
||||||||||||||||||||||||||||||||||||||||||
|
ExceptionFlags |
1. 异常标志 |
||||||||||||||||||||||||||||||||||||||||||
|
ExceptionRecord |
指向一个相关联的 EXCEPTION_RECORD 结构的指针。当嵌套异常发生时,异常记录能够链起来,来提供更多的信息 |
||||||||||||||||||||||||||||||||||||||||||
|
ExceptionAddress |
异常发生的地址 |
||||||||||||||||||||||||||||||||||||||||||
|
NumberParameters |
与异常相关联的参数的数目,该值为 ExceptionInformation 数组中定义的元素的数目 |
||||||||||||||||||||||||||||||||||||||||||
|
ExceptionInformation |
1. 描述异常的其他参数形成的数组
|
备注:
为了使调试器能够调试一个在不同架构上(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;
需求:
|
Minimum supported client |
Windows XP [仅桌面应用程序] |
|
Minimum supported server |
Windows 2003 服务器版 [仅桌面应用程序] |
|
Header |
WinNT.h (包含于 Windows.h) |




