2 out of 3 rated this helpful - Rate this topic

DEBUG_EVENT structure

Applies to: desktop apps only

Describes a debugging event.

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

The code that identifies the type of debugging event. This member can be one of the following values.

ValueMeaning
CREATE_PROCESS_DEBUG_EVENT
3

Reports a create-process debugging event. The value of u.CreateProcessInfo specifies a CREATE_PROCESS_DEBUG_INFO structure.

CREATE_THREAD_DEBUG_EVENT
2

Reports a create-thread debugging event. The value of u.CreateThread specifies a CREATE_THREAD_DEBUG_INFO structure.

EXCEPTION_DEBUG_EVENT
1

Reports an exception debugging event. The value of u.Exception specifies an EXCEPTION_DEBUG_INFO structure.

EXIT_PROCESS_DEBUG_EVENT
5

Reports an exit-process debugging event. The value of u.ExitProcess specifies an EXIT_PROCESS_DEBUG_INFO structure.

EXIT_THREAD_DEBUG_EVENT
4

Reports an exit-thread debugging event. The value of u.ExitThread specifies an EXIT_THREAD_DEBUG_INFO structure.

LOAD_DLL_DEBUG_EVENT
6

Reports a load-dynamic-link-library (DLL) debugging event. The value of u.LoadDll specifies a LOAD_DLL_DEBUG_INFO structure.

OUTPUT_DEBUG_STRING_EVENT
8

Reports an output-debugging-string debugging event. The value of u.DebugString specifies an OUTPUT_DEBUG_STRING_INFO structure.

RIP_EVENT
9

Reports a RIP-debugging event (system debugging error). The value of u.RipInfo specifies a RIP_INFO structure.

UNLOAD_DLL_DEBUG_EVENT
7

Reports an unload-DLL debugging event. The value of u.UnloadDll specifies an UNLOAD_DLL_DEBUG_INFO structure.

 

dwProcessId

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

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

Remarks

If the WaitForDebugEvent function succeeds, it fills in the members of a DEBUG_EVENT structure.

Requirements

Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003

Header

WinBase.h (include Windows.h)

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

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ