DEBUG_EVENT结构描述了调试事件。
typedef struct _DEBUG_EVENT { // de
DWORD dwDebugEventCode;
DWORD dwProcessId;
DWORD dwThreadId;
工会{
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;
会员
dwDebugEventCode
指定调试事件代码,用于标识调试事件的类型。此参数可以是以下值之一:
值 | 含义 | ||||
EXCEPTION_DEBUG_EVENT | |||||
报告异常调试事件。u.Exception的值指定EXCEPTION_DEBUG_INFO结构。 | |||||
CREATE_THREAD_DEBUG_EVENT | |||||
报告一个创建线程调试事件。u.CreateThread的值指定CREATE_THREAD_DEBUG_INFO结构。 | |||||
CREATE_PROCESS_DEBUG_EVENT | |||||
报告一个创建进程调试事件。u.CreateProcessInfo的值指定CREATE_PROCESS_DEBUG_INFO结构。 | |||||
EXIT_THREAD_DEBUG_EVENT | |||||
报告退出线程调试事件。u.ExitThread的值指定EXIT_THREAD_DEBUG_INFO结构。 | |||||
EXIT_PROCESS_DEBUG_EVENT | |||||
报告退出进程调试事件。u.ExitProcess的值指定EXIT_PROCESS_DEBUG_INFO结构。 | |||||
LOAD_DLL_DEBUG_EVENT | |||||
报告load-dynamic-link-library(DLL)调试事件。u.LoadDll的值指定LOAD_DLL_DEBUG_INFO结构。 | |||||
UNLOAD_DLL_DEBUG_EVENT | |||||
报告一个卸载DLL调试事件。u.UnloadDll的值指定UNLOAD_DLL_DEBUG_INFO结构。 | |||||
OUTPUT_DEBUG_STRING_EVENT | |||||
报告一个output-debugging-string调试事件。u.DebugString的值指定OUTPUT_DEBUG_STRING_INFO结构。 | |||||
RIP_EVENT | |||||
报告RIP调试事件(系统调试错误)。u.RipInfo的值指定RIP_INFO结构。 |
dwProcessId
指定调试事件发生的进程的标识符。调试器使用此值来定位调试器的每个进程结构。这些值不一定是可以用作表索引的小整数。
dwThreadId
指定调试事件发生的线程的标识符。调试器使用此值来定位调试器的每个线程结构。这些值不一定是可以用作表索引的小整数。
u
指定与调试事件相关的其他信息。该联合会接受与调试事件类型相适应的类型和值,如dwDebugEventCode成员所述。
备注
如果WaitForDebugEvent函数成功,它将填充DEBUG_EVENT结构的成员。
也可以看看
CREATE_PROCESS_DEBUG_INFO, CREATE_THREAD_DEBUG_INFO, EXIT_PROCESS_DEBUG_INFO, EXIT_THREAD_DEBUG_INFO, EXCEPTION_DEBUG_INFO, LOAD_DLL_DEBUG_INFO, OUTPUT_DEBUG_STRING_INFO, UNLOAD_DLL_DEBUG_INFO, WaitForDebugEvent