(minwinbase.h) DEBUG_EVENT 结构
描述调试事件。
语法
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
标识调试事件类型的代码。 此成员可以是以下值之一。
值 | 含义 |
---|---|
|
报告创建进程调试事件 (包括进程及其main线程) 。 u.CreateProcessInfo 的值指定CREATE_PROCESS_DEBUG_INFO结构。 |
|
报告创建线程调试事件 (不包括进程的main线程,请参阅“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 调试事件。 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_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) |