描述除錯事件。
語法
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;
Members
dwDebugEventCode
類型: DWORD
識別除錯事件類型的程式碼。 這個成員可以是以下其中一個值。
| 價值觀 | Meaning |
|---|---|
|
報告建立程序除錯事件(包含程序及其主執行緒)。 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結構。 |
|
回報載入動態連結函式庫(DLL)除錯事件。 u.LoadDll 的值指定了一個LOAD_DLL_DEBUG_INFO結構。 |
|
回報輸出除錯字串除錯事件。 u.DebugString 的值指定了一個OUTPUT_DEBUG_STRING_INFO結構。 |
|
報告 RIP-debugg 事件(系統除錯錯誤)。 u.RipInfo 的價值規定了RIP_INFO結構。 |
|
回報卸載 DLL 除錯事件。 u.UnloadDll 的值指定了一個UNLOAD_DLL_DEBUG_INFO結構。 |
dwProcessId
類型: DWORD
除錯事件發生的程序識別碼。 除錯器利用此值定位除錯器的每個程序結構。 這些值不一定是可用作表格索引的小整數。
dwThreadId
類型: DWORD
除錯事件發生的執行緒識別碼。 除錯器利用此值定位除錯器的每執行緒結構。 這些值不一定是可用作表格索引的小整數。
u
任何與除錯事件相關的額外資訊。 此聯集採用與除錯事件類型相符的型別與值,如 dwDebugEventCode 成員所述。
u.Exception
若 dwDebugEventCode 為 EXCEPTION_DEBUG_EVENT (1), u.Exception 指定一個 EXCEPTION_DEBUG_INFO 結構。
u.CreateThread
若 dwDebugEventCode 為 CREATE_THREAD_DEBUG_EVENT (2), u.CreateThread 會指定一個 CREATE_THREAD_DEBUG_INFO 結構。
u.CreateProcessInfo
若 dwDebugEventCode 為 CREATE_PROCESS_DEBUG_EVENT (3), u.CreateProcessInfo 會指定一個 CREATE_PROCESS_DEBUG_INFO 結構。
u.ExitThread
若 dwDebugEventCode 為 EXIT_THREAD_DEBUG_EVENT (4), u.ExitThread 會指定一個 EXIT_THREAD_DEBUG_INFO 結構。
u.ExitProcess
若 dwDebugEventCode 為 EXIT_PROCESS_DEBUG_EVENT (5), u.ExitProcess 會指定一個 EXIT_PROCESS_DEBUG_INFO 結構。
u.LoadDll
若 dwDebugEventCode 為 LOAD_DLL_DEBUG_EVENT (6), u.LoadDll 會指定一個 LOAD_DLL_DEBUG_INFO 結構。
u.UnloadDll
若 dwDebugEventCode 為 UNLOAD_DLL_DEBUG_EVENT (7), u.UnloadDll 指定一個 UNLOAD_DLL_DEBUG_INFO 結構。
u.DebugString
若 dwDebugEventCode 為 OUTPUT_DEBUG_STRING_EVENT (8), u.DebugString 指定一個 OUTPUT_DEBUG_STRING_INFO 結構。
u.RipInfo
類型: RIP_INFO
若 dwDebugEventCode 為 RIP_EVENT (9), u.RipInfo 會指定一個 RIP_INFO 結構。
備註
如果 WaitForDebugEvent 函式成功,它會填補 一個 DEBUG_EVENT 結構的成員。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
| Header | minwinbase.h(包含 Windows.h) |