(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

标识调试事件类型的代码。 此成员可以是以下值之一。

含义
CREATE_PROCESS_DEBUG_EVENT
3
报告创建进程调试事件 (包括进程及其main线程) 。 u.CreateProcessInfo 的值指定CREATE_PROCESS_DEBUG_INFO结构。
CREATE_THREAD_DEBUG_EVENT
2
报告创建线程调试事件 (不包括进程的main线程,请参阅“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