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,線程嘗試寫入無法存取的位址。
第二個數位元素會指定無法存取資料的虛擬位址。 |
規格需求
需求 | 值 |
---|---|
標頭 | minidumpapiset.h (包含 DbgHelp.h) |
可轉散發套件 | DbgHelp.dll 5.1 或更新版本 |