Share via


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 偵錯事件。 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_INFO 如果 dwDebugEventCodeEXCEPTION_DEBUG_EVENT (1 ) ,u.Exception 會指定 EXCEPTION_DEBUG_INFO 結構。

u.CreateThread

類型: CREATE_THREAD_DEBUG_INFO 如果 dwDebugEventCodeCREATE_THREAD_DEBUG_EVENT (2 ) ,u.CreateThread 會指定 CREATE_THREAD_DEBUG_INFO 結構。

u.CreateProcessInfo

類型: CREATE_PROCESS_DEBUG_INFO 如果 dwDebugEventCodeCREATE_PROCESS_DEBUG_EVENT (3 ) ,u.CreateProcessInfo 會指定 CREATE_PROCESS_DEBUG_INFO 結構。

u.ExitThread

類型: EXIT_THREAD_DEBUG_INFO 如果 dwDebugEventCodeEXIT_THREAD_DEBUG_EVENT (4 ) ,u.ExitThread 會指定 EXIT_THREAD_DEBUG_INFO 結構。

u.ExitProcess

類型:EXIT_PROCESS_DEBUG_INFO如果 dwDebugEventCodeEXIT_PROCESS_DEBUG_EVENT ( 5) ,u.ExitProcess 會指定EXIT_PROCESS_DEBUG_INFO結構。

u.LoadDll

類型: LOAD_DLL_DEBUG_INFO 如果 dwDebugEventCodeLOAD_DLL_DEBUG_EVENT (6 ) ,u.LoadDll 會指定 LOAD_DLL_DEBUG_INFO 結構。

u.UnloadDll

類型: UNLOAD_DLL_DEBUG_INFO 如果 dwDebugEventCodeUNLOAD_DLL_DEBUG_EVENT (7 ) ,u.UnloadDll 會指定 UNLOAD_DLL_DEBUG_INFO 結構。

u.DebugString

類型: OUTPUT_DEBUG_STRING_INFO 如果 dwDebugEventCodeOUTPUT_DEBUG_STRING_EVENT (8 ) ,u.DebugString 會指定 OUTPUT_DEBUG_STRING_INFO 結構。

u.RipInfo

類型: RIP_INFO 如果 dwDebugEventCodeRIP_EVENT (9 ) ,u.RipInfo 會指定 RIP_INFO 結構。

備註

如果 WaitForDebugEvent 函式成功,它會填入 DEBUG_EVENT 結構的成員。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 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