DEBUG_EVENT 構造体 (minwinbase.h)
デバッグ イベントについて説明します。
構文
typedef struct _DEBUG_EVENT {
DWORD dwDebugEventCode;
DWORD dwProcessId;
DWORD dwThreadId;
union {
EXCEPTION_DEBUG_INFO Exception;
CREATE_THREAD_DEBUG_INFO CreateThread;
CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
EXIT_THREAD_DEBUG_INFO ExitThread;
EXIT_PROCESS_DEBUG_INFO ExitProcess;
LOAD_DLL_DEBUG_INFO LoadDll;
UNLOAD_DLL_DEBUG_INFO UnloadDll;
OUTPUT_DEBUG_STRING_INFO DebugString;
RIP_INFO RipInfo;
} u;
} DEBUG_EVENT, *LPDEBUG_EVENT;
メンバー
dwDebugEventCode
型: DWORD
デバッグ イベントの種類を識別するコード。 このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
作成プロセス デバッグ イベントを報告します (プロセスとそのメイン スレッドの両方が含まれます)。 u.CreateProcessInfo の値は、CREATE_PROCESS_DEBUG_INFO構造体を指定します。 |
|
スレッドの作成デバッグ イベントを報告します (プロセスのメイン スレッドは含まれません。「CREATE_PROCESS_DEBUG_EVENT」を参照してください)。 u.CreateThread の値は、CREATE_THREAD_DEBUG_INFO構造体を指定します。 |
|
例外デバッグ イベントを報告します。 u.Exception の値は、EXCEPTION_DEBUG_INFO構造体を指定します。 |
|
終了プロセス デバッグ イベントを報告します。 u.ExitProcess の値は、EXIT_PROCESS_DEBUG_INFO構造体を指定します。 |
|
終了スレッド デバッグ イベントを報告します。 u.ExitThread の値は、EXIT_THREAD_DEBUG_INFO構造体を指定します。 |
|
load-dynamic-link-library (DLL) デバッグ イベントを報告します。 u.LoadDll の値は、LOAD_DLL_DEBUG_INFO構造体を指定します。 |
|
output-debugging-string debugging イベントを報告します。 u.DebugString の値は、OUTPUT_DEBUG_STRING_INFO構造体を指定します。 |
|
RIP デバッグ イベント (システム デバッグ エラー) を報告します。 u.RipInfo の値は、RIP_INFO構造体を指定します。 |
|
unload-DLL デバッグ イベントを報告します。 u.UnloadDll の値は、UNLOAD_DLL_DEBUG_INFO構造体を指定します。 |
dwProcessId
型: DWORD
デバッグ イベントが発生したプロセスの識別子。 デバッガーはこの値を使用して、デバッガーのプロセスごとの構造を見つけます。 これらの値は、テーブル インデックスとして使用できる小さな整数であるとは限りません。
dwThreadId
型: DWORD
デバッグ イベントが発生したスレッドの識別子。 デバッガーはこの値を使用して、デバッガーのスレッドごとの構造を見つけます。 これらの値は、テーブル インデックスとして使用できる小さな整数であるとは限りません。
u
デバッグ イベントに関連する追加情報。 この共用体は、 dwDebugEventCode メンバーで説明されているように、デバッグ イベントの種類に適した型と値を受け取ります。
u.Exception
種類: EXCEPTION_DEBUG_INFOdwDebugEventCode が (1) EXCEPTION_DEBUG_EVENT場合、u.Exception はEXCEPTION_DEBUG_INFO構造体を指定します。
u.CreateThread
種類: CREATE_THREAD_DEBUG_INFOdwDebugEventCode がCREATE_THREAD_DEBUG_EVENT (2) の場合、u.CreateThread はCREATE_THREAD_DEBUG_INFO構造体を指定します。
u.CreateProcessInfo
種類: CREATE_PROCESS_DEBUG_INFOdwDebugEventCode がCREATE_PROCESS_DEBUG_EVENT (3) の場合、u.CreateProcessInfo はCREATE_PROCESS_DEBUG_INFO構造体を指定します。
u.ExitThread
種類: EXIT_THREAD_DEBUG_INFOdwDebugEventCode がEXIT_THREAD_DEBUG_EVENT (4) の場合、u.ExitThread はEXIT_THREAD_DEBUG_INFO構造体を指定します。
u.ExitProcess
種類: EXIT_PROCESS_DEBUG_INFOdwDebugEventCode がEXIT_PROCESS_DEBUG_EVENT (5) の場合、u.ExitProcess はEXIT_PROCESS_DEBUG_INFO構造体を指定します。
u.LoadDll
種類: LOAD_DLL_DEBUG_INFOdwDebugEventCode がLOAD_DLL_DEBUG_EVENT (6) の場合、u.LoadDll はLOAD_DLL_DEBUG_INFO構造体を指定します。
u.UnloadDll
種類: UNLOAD_DLL_DEBUG_INFOdwDebugEventCode がUNLOAD_DLL_DEBUG_EVENT (7) の場合、u.UnloadDll はUNLOAD_DLL_DEBUG_INFO構造体を指定します。
u.DebugString
種類: OUTPUT_DEBUG_STRING_INFOdwDebugEventCode がOUTPUT_DEBUG_STRING_EVENT (8) の場合、u.DebugString はOUTPUT_DEBUG_STRING_INFO構造体を指定します。
u.RipInfo
種類: RIP_INFOdwDebugEventCode がRIP_EVENT (9) の場合、u.RipInfo はRIP_INFO構造体を指定します。
注釈
WaitForDebugEvent 関数が成功すると、DEBUG_EVENT構造体のメンバーが入力されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | minwinbase.h (Windows.h を含む) |