다음을 통해 공유


DEBUG_EVENT 구조체(minwinbase.h)

디버깅 이벤트를 설명합니다.

구문

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
프로세스 만들기 디버깅 이벤트(프로세스와 해당 기본 스레드 모두 포함)를 보고합니다. u.CreateProcessInfo 값은 CREATE_PROCESS_DEBUG_INFO 구조를 지정합니다.
CREATE_THREAD_DEBUG_EVENT
2
create-thread debugging 이벤트를 보고합니다(프로세스의 기본 스레드는 포함하지 않습니다. '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_INFOdwDebugEventCodeEXCEPTION_DEBUG_EVENT (1)인 경우 예외EXCEPTION_DEBUG_INFO 구조를 지정합니다.

u.CreateThread

형식: CREATE_THREAD_DEBUG_INFOdwDebugEventCodeCREATE_THREAD_DEBUG_EVENT (2)이면 u.CreateThreadCREATE_THREAD_DEBUG_INFO 구조를 지정합니다.

u.CreateProcessInfo

형식: CREATE_PROCESS_DEBUG_INFOdwDebugEventCodeCREATE_PROCESS_DEBUG_EVENT (3)이면 u.CreateProcessInfoCREATE_PROCESS_DEBUG_INFO 구조를 지정합니다.

u.ExitThread

형식: EXIT_THREAD_DEBUG_INFOdwDebugEventCodeEXIT_THREAD_DEBUG_EVENT (4)이면 u.ExitThreadEXIT_THREAD_DEBUG_INFO 구조를 지정합니다.

u.ExitProcess

형식: EXIT_PROCESS_DEBUG_INFOdwDebugEventCodeEXIT_PROCESS_DEBUG_EVENT (5)이면 u.ExitProcessEXIT_PROCESS_DEBUG_INFO 구조를 지정합니다.

u.LoadDll

형식: LOAD_DLL_DEBUG_INFOdwDebugEventCodeLOAD_DLL_DEBUG_EVENT (6)이면 u.LoadDllLOAD_DLL_DEBUG_INFO 구조를 지정합니다.

u.UnloadDll

형식: UNLOAD_DLL_DEBUG_INFOdwDebugEventCodeUNLOAD_DLL_DEBUG_EVENT (7)인 경우 u.UnloadDllUNLOAD_DLL_DEBUG_INFO 구조를 지정합니다.

u.DebugString

형식: OUTPUT_DEBUG_STRING_INFOdwDebugEventCodeOUTPUT_DEBUG_STRING_EVENT (8)인 경우 u.DebugStringOUTPUT_DEBUG_STRING_INFO 구조를 지정합니다.

u.RipInfo

형식: RIP_INFOdwDebugEventCodeRIP_EVENT (9)이면 u.RipInfoRIP_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