共用方式為


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 函式中指定的程式碼。 以下是可能因為常見的程式設計錯誤而發生的例外狀況代碼。

意義
EXCEPTION_ACCESS_VIOLATION
線程嘗試讀取或寫入其沒有適當存取權的虛擬位址。
EXCEPTION_ARRAY_BOUNDS_EXCEEDED
線程嘗試存取超出界限的陣列元素,而基礎硬體支援界限檢查。
EXCEPTION_BREAKPOINT
遇到斷點。
EXCEPTION_DATATYPE_MISALIGNMENT
線程嘗試讀取或寫入未提供對齊之硬體上不對齊的數據。 例如,16 位值必須在2位元組界限上對齊;4 位元組界限上的32位值等等。
EXCEPTION_FLT_DENORMAL_OPERAND
浮點運算中的其中一個操作數是反正規的。 反正規值是太小而無法表示為標準浮點值的值。
EXCEPTION_FLT_DIVIDE_BY_ZERO
線程嘗試將浮點數除以零的浮點除數。
EXCEPTION_FLT_INEXACT_RESULT
浮點運算的結果不能完全表示為小數點。
EXCEPTION_FLT_INVALID_OPERATION
此例外狀況代表此清單中未包含的任何浮點例外狀況。
EXCEPTION_FLT_OVERFLOW
浮點運算的指數大於對應類型所允許的大小。
EXCEPTION_FLT_STACK_CHECK
堆疊溢位或下溢,因為浮點運算的結果。
EXCEPTION_FLT_UNDERFLOW
浮點運算的指數小於對應類型所允許的大小。
EXCEPTION_ILLEGAL_INSTRUCTION
線程嘗試執行無效的指令。
EXCEPTION_IN_PAGE_ERROR
線程嘗試存取不存在的頁面,而且系統無法載入頁面。 例如,如果網路連線在透過網路執行程式時遺失,就可能發生此例外狀況。
EXCEPTION_INT_DIVIDE_BY_ZERO
線程嘗試將整數值除以零的整數除數。
EXCEPTION_INT_OVERFLOW
整數運算的結果導致執行結果的最大有效位。
EXCEPTION_INVALID_DISPOSITION
例外狀況處理程式將無效的處置傳回給例外狀況發送器。 使用 C 等高階語言的程式設計人員應該永遠不會遇到此例外狀況。
EXCEPTION_NONCONTINUABLE_EXCEPTION
線程嘗試在發生不可繼續的例外狀況之後繼續執行。
EXCEPTION_PRIV_INSTRUCTION
線程嘗試執行指令,但目前計算機模式中不允許其作業。
EXCEPTION_SINGLE_STEP
追蹤陷阱或其他單一指令機制表示已執行一個指令。
EXCEPTION_STACK_OVERFLOW
線程已用到其堆疊。
 

偵錯主控台進程時,可能會發生另一個例外狀況程序代碼。 它不會因為程式設計錯誤而發生。 當 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 函式可以指定這個自變數數位。 對於大部分的例外狀況代碼,陣列元素是未定義的。 針對下列例外狀況程式代碼,陣列元素的定義如下。

例外狀況代碼 意義
EXCEPTION_ACCESS_VIOLATION
陣列的第一個專案包含讀取/寫入旗標,指出造成存取違規的作業類型。 如果此值為零,則線程嘗試讀取無法存取的數據。 如果此值為 1,線程嘗試寫入無法存取的位址。

第二個數位元素會指定無法存取資料的虛擬位址。

規格需求

需求
標頭 minidumpapiset.h (包含 DbgHelp.h)
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

MINIDUMP_EXCEPTION_STREAM

RaiseException