The DEBUG_EVENT structure describes a debugging event.
typedef struct _DEBUG_EVENT { // de
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;
Members
dwDebugEventCode
Specifies a debugging event code that identifies the type of debugging event. This parameter can be one of the following values:
Value | Meaning | ||||
EXCEPTION_DEBUG_EVENT | |||||
Reports an exception debugging event. The value of u.Exception specifies an EXCEPTION_DEBUG_INFO structure. | |||||
CREATE_THREAD_DEBUG_EVENT | |||||
Reports a create-thread debugging event. The value of u.CreateThread specifies a CREATE_THREAD_DEBUG_INFO structure. | |||||
CREATE_PROCESS_DEBUG_EVENT | |||||
Reports a create-process debugging event. The value of u.CreateProcessInfo specifies a CREATE_PROCESS_DEBUG_INFO structure. | |||||
EXIT_THREAD_DEBUG_EVENT | |||||
Reports an exit-thread debugging event. The value of u.ExitThread specifies an EXIT_THREAD_DEBUG_INFO structure. | |||||
EXIT_PROCESS_DEBUG_EVENT | |||||
Reports an exit-process debugging event. The value of u.ExitProcess specifies an EXIT_PROCESS_DEBUG_INFO structure. | |||||
LOAD_DLL_DEBUG_EVENT | |||||
Reports a load-dynamic-link-library (DLL) debugging event. The value of u.LoadDll specifies a LOAD_DLL_DEBUG_INFO structure. | |||||
UNLOAD_DLL_DEBUG_EVENT | |||||
Reports an unload-DLL debugging event. The value of u.UnloadDll specifies an UNLOAD_DLL_DEBUG_INFO structure. | |||||
OUTPUT_DEBUG_STRING_EVENT | |||||
Reports an output-debugging-string debugging event. The value of u.DebugString specifies an OUTPUT_DEBUG_STRING_INFO structure. | |||||
RIP_EVENT | |||||
Reports a RIP-debugging event (system debugging error). The value of u.RipInfo specifies a RIP_INFO structure. |
dwProcessId
Specifies the identifier of the process in which the debugging event occurred. A debugger uses this value to locate the debugger's per-process structure. These values are not necessarily small integers that can be used as table indices.
dwThreadId
Specifies the identifier of the thread in which the debugging event occurred. A debugger uses this value to locate the debugger's per-thread structure. These values are not necessarily small integers that can be used as table indices.
u
Specifies additional information relating to the debugging event. This union takes on the type and value appropriate to the type of debugging event, as described in the dwDebugEventCode member.
Remarks
If the WaitForDebugEvent function succeeds, it fills in the members of a DEBUG_EVENT structure.
See Also
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