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

デバッグ イベントの種類を識別するコード。 このメンバーには、次のいずれかの値を指定できます。

意味
CREATE_PROCESS_DEBUG_EVENT
3
作成プロセス デバッグ イベントを報告します (プロセスとそのメイン スレッドの両方が含まれます)。 u.CreateProcessInfo の値は、CREATE_PROCESS_DEBUG_INFO構造体を指定します。
CREATE_THREAD_DEBUG_EVENT
2
スレッドの作成デバッグ イベントを報告します (プロセスのメイン スレッドは含まれません。「CREATE_PROCESS_DEBUG_EVENT」を参照してください)。 u.CreateThread の値は、CREATE_THREAD_DEBUG_INFO構造体を指定します。
EXCEPTION_DEBUG_EVENT
1
例外デバッグ イベントを報告します。 u.Exception の値は、EXCEPTION_DEBUG_INFO構造体を指定します。
EXIT_PROCESS_DEBUG_EVENT
5
終了プロセス デバッグ イベントを報告します。 u.ExitProcess の値は、EXIT_PROCESS_DEBUG_INFO構造体を指定します。
EXIT_THREAD_DEBUG_EVENT
4
終了スレッド デバッグ イベントを報告します。 u.ExitThread の値は、EXIT_THREAD_DEBUG_INFO構造体を指定します。
LOAD_DLL_DEBUG_EVENT
6
load-dynamic-link-library (DLL) デバッグ イベントを報告します。 u.LoadDll の値は、LOAD_DLL_DEBUG_INFO構造体を指定します。
OUTPUT_DEBUG_STRING_EVENT
8
output-debugging-string debugging イベントを報告します。 u.DebugString の値は、OUTPUT_DEBUG_STRING_INFO構造体を指定します。
RIP_EVENT
9
RIP デバッグ イベント (システム デバッグ エラー) を報告します。 u.RipInfo の値は、RIP_INFO構造体を指定します。
UNLOAD_DLL_DEBUG_EVENT
7
unload-DLL デバッグ イベントを報告します。 u.UnloadDll の値は、UNLOAD_DLL_DEBUG_INFO構造体を指定します。

dwProcessId

型: DWORD

デバッグ イベントが発生したプロセスの識別子。 デバッガーはこの値を使用して、デバッガーのプロセスごとの構造を見つけます。 これらの値は、テーブル インデックスとして使用できる小さな整数であるとは限りません。

dwThreadId

型: DWORD

デバッグ イベントが発生したスレッドの識別子。 デバッガーはこの値を使用して、デバッガーのスレッドごとの構造を見つけます。 これらの値は、テーブル インデックスとして使用できる小さな整数であるとは限りません。

u

デバッグ イベントに関連する追加情報。 この共用体は、 dwDebugEventCode メンバーで説明されているように、デバッグ イベントの種類に適した型と値を受け取ります。

u.Exception

種類: EXCEPTION_DEBUG_INFOdwDebugEventCode が (1) EXCEPTION_DEBUG_EVENT場合、u.ExceptionEXCEPTION_DEBUG_INFO構造体を指定します。

u.CreateThread

種類: CREATE_THREAD_DEBUG_INFOdwDebugEventCodeCREATE_THREAD_DEBUG_EVENT (2) の場合、u.CreateThreadCREATE_THREAD_DEBUG_INFO構造体を指定します。

u.CreateProcessInfo

種類: CREATE_PROCESS_DEBUG_INFOdwDebugEventCodeCREATE_PROCESS_DEBUG_EVENT (3) の場合、u.CreateProcessInfoCREATE_PROCESS_DEBUG_INFO構造体を指定します。

u.ExitThread

種類: EXIT_THREAD_DEBUG_INFOdwDebugEventCodeEXIT_THREAD_DEBUG_EVENT (4) の場合、u.ExitThreadEXIT_THREAD_DEBUG_INFO構造体を指定します。

u.ExitProcess

種類: EXIT_PROCESS_DEBUG_INFOdwDebugEventCodeEXIT_PROCESS_DEBUG_EVENT (5) の場合、u.ExitProcessEXIT_PROCESS_DEBUG_INFO構造体を指定します。

u.LoadDll

種類: LOAD_DLL_DEBUG_INFOdwDebugEventCodeLOAD_DLL_DEBUG_EVENT (6) の場合、u.LoadDll はLOAD_DLL_DEBUG_INFO構造体を指定します。

u.UnloadDll

種類: UNLOAD_DLL_DEBUG_INFOdwDebugEventCodeUNLOAD_DLL_DEBUG_EVENT (7) の場合、u.UnloadDll はUNLOAD_DLL_DEBUG_INFO構造体を指定します。

u.DebugString

種類: OUTPUT_DEBUG_STRING_INFOdwDebugEventCodeOUTPUT_DEBUG_STRING_EVENT (8) の場合、u.DebugStringOUTPUT_DEBUG_STRING_INFO構造体を指定します。

u.RipInfo

種類: RIP_INFOdwDebugEventCodeRIP_EVENT (9) の場合、u.RipInfoRIP_INFO構造体を指定します。

注釈

WaitForDebugEvent 関数が成功すると、DEBUG_EVENT構造体のメンバーが入力されます。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header minwinbase.h (Windows.h を含む)

こちらもご覧ください

CREATE_PROCESS_DEBUG_INFO

CREATE_THREAD_DEBUG_INFO

EXCEPTION_DEBUG_INFO

EXIT_PROCESS_DEBUG_INFO

EXIT_THREAD_DEBUG_INFO

LOAD_DLL_DEBUG_INFO

OUTPUT_DEBUG_STRING_INFO

UNLOAD_DLL_DEBUG_INFO

WaitForDebugEvent