MINIDUMP_EXCEPTION 结构 (minidumpapiset.h)
包含异常信息。
语法
typedef struct _MINIDUMP_EXCEPTION {
ULONG32 ExceptionCode;
ULONG32 ExceptionFlags;
ULONG64 ExceptionRecord;
ULONG64 ExceptionAddress;
ULONG32 NumberParameters;
ULONG32 __unusedAlignment;
ULONG64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} MINIDUMP_EXCEPTION, *PMINIDUMP_EXCEPTION;
成员
ExceptionCode
发生异常的原因。 这是硬件异常生成的代码,或在 RaiseException 函数中为软件生成的异常指定的代码。 下面是由于常见编程错误而可能发生的异常代码。
调试控制台进程时,可能会发生另一个异常代码。 它不会因为编程错误而出现。 当将 CTRL+C 输入到处理 CTRL+C 信号的控制台进程并正在调试时,将发生异常代码DBG_CONTROL_C。 此异常代码不应由应用程序处理。 它仅出于调试器的优势而引发,并且仅在将调试器附加到控制台进程时引发。
ExceptionFlags
此成员可以是零(表示连续异常)或EXCEPTION_NONCONTINUABLE(表示不可持续异常)。 在不可持续异常后继续执行的任何尝试都会导致EXCEPTION_NONCONTINUABLE_EXCEPTION异常。
ExceptionRecord
指向关联的 MINIDUMP_EXCEPTION 结构的指针。 异常记录可以链接在一起,以在发生嵌套异常时提供其他信息。
ExceptionAddress
发生异常的地址。
NumberParameters
与异常关联的参数数。 这是 ExceptionInformation 数组中定义的元素数。
__unusedAlignment
保留用于跨平台结构成员对齐。 请勿设置。
ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
描述异常的其他参数的数组。 RaiseException 函数可以指定此参数数组。 对于大多数异常代码,数组元素是未定义的。 对于以下异常代码,数组元素的定义如下。
异常代码 | 含义 |
---|---|
|
数组的第一个元素包含一个读/写标志,该标志指示导致访问冲突的操作类型。 如果此值为零,则线程尝试读取不可访问的数据。 如果此值为 1,则线程尝试写入不可访问的地址。
第二个数组元素指定不可访问数据的虚拟地址。 |
要求
要求 | 值 |
---|---|
Header | minidumpapiset.h (包括 DbgHelp.h) |
可再发行组件 | DbgHelp.dll 5.1 或更高版本 |