DEBUG_EVENT结构(minwinbase.h)

描述调试事件。

Syntax

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
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
报告输出-调试字符串调试事件。 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

如果 dwDebugEventCode为 EXCEPTION_DEBUG_EVENT (1), 则 u.Exception 指定 EXCEPTION_DEBUG_INFO 结构。

u.CreateThread

类型: CREATE_THREAD_DEBUG_INFO

如果 dwDebugEventCode为 CREATE_THREAD_DEBUG_EVENT (2), 则 u.CreateThread 指定 CREATE_THREAD_DEBUG_INFO 结构。

u.CreateProcessInfo

类型: CREATE_PROCESS_DEBUG_INFO

如果 dwDebugEventCode为 CREATE_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

如果 dwDebugEventCode为 EXIT_PROCESS_DEBUG_EVENT (5), 则 u.ExitProcess 指定 EXIT_PROCESS_DEBUG_INFO 结构。

u.LoadDll

类型: LOAD_DLL_DEBUG_INFO

如果 dwDebugEventCode为 LOAD_DLL_DEBUG_EVENT (6), 则 u.LoadDll 指定 LOAD_DLL_DEBUG_INFO 结构。

u.UnloadDll

类型: UNLOAD_DLL_DEBUG_INFO

如果 dwDebugEventCode为 UNLOAD_DLL_DEBUG_EVENT (7), 则 u.UnloadDll 指定 UNLOAD_DLL_DEBUG_INFO 结构。

u.DebugString

类型: OUTPUT_DEBUG_STRING_INFO

如果 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)

另请参阅

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