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
디버깅 이벤트의 형식을 식별하는 코드입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
프로세스 만들기 디버깅 이벤트(프로세스와 해당 기본 스레드 모두 포함)를 보고합니다. u.CreateProcessInfo 값은 CREATE_PROCESS_DEBUG_INFO 구조를 지정합니다. |
|
create-thread debugging 이벤트를 보고합니다(프로세스의 기본 스레드는 포함하지 않습니다. 'CREATE_PROCESS_DEBUG_EVENT'참조). u.CreateThread 값은 CREATE_THREAD_DEBUG_INFO 구조를 지정합니다. |
|
예외 디버깅 이벤트를 보고합니다. u.Exception 값은 EXCEPTION_DEBUG_INFO 구조를 지정합니다. |
|
종료 프로세스 디버깅 이벤트를 보고합니다. u.ExitProcess 값은 EXIT_PROCESS_DEBUG_INFO 구조를 지정합니다. |
|
종료 스레드 디버깅 이벤트를 보고합니다. u.ExitThread 값은 EXIT_THREAD_DEBUG_INFO 구조를 지정합니다. |
|
load-dynamic-link-library(DLL) 디버깅 이벤트를 보고합니다. u.LoadDll 값은 LOAD_DLL_DEBUG_INFO 구조를 지정합니다. |
|
output-debugging-string 디버깅 이벤트를 보고합니다. u.DebugString 값은 OUTPUT_DEBUG_STRING_INFO 구조를 지정합니다. |
|
RIP 디버깅 이벤트(시스템 디버깅 오류)를 보고합니다. u.RipInfo 값은 RIP_INFO 구조를 지정합니다. |
|
unload-DLL 디버깅 이벤트를 보고합니다. u.UnloadDll 값은 UNLOAD_DLL_DEBUG_INFO 구조를 지정합니다. |
dwProcessId
형식:DWORD
디버깅 이벤트가 발생한 프로세스의 식별자입니다. 디버거는 이 값을 사용하여 디버거의 프로세스별 구조를 찾습니다. 이러한 값은 반드시 테이블 인덱스로 사용할 수 있는 작은 정수는 아닙니다.
dwThreadId
형식:DWORD
디버깅 이벤트가 발생한 스레드의 식별자입니다. 디버거는 이 값을 사용하여 디버거의 스레드별 구조를 찾습니다. 이러한 값은 반드시 테이블 인덱스로 사용할 수 있는 작은 정수는 아닙니다.
u
디버깅 이벤트와 관련된 추가 정보입니다. 이 공용 구조체는 dwDebugEventCode 멤버에 설명된 대로 디버깅 이벤트 형식에 적합한 형식과 값을 사용합니다.
u.Exception
형식: EXCEPTION_DEBUG_INFOdwDebugEventCode 가 EXCEPTION_DEBUG_EVENT (1)인 경우 예외 는 EXCEPTION_DEBUG_INFO 구조를 지정합니다.
u.CreateThread
형식: CREATE_THREAD_DEBUG_INFOdwDebugEventCode 가 CREATE_THREAD_DEBUG_EVENT (2)이면 u.CreateThread 는 CREATE_THREAD_DEBUG_INFO 구조를 지정합니다.
u.CreateProcessInfo
형식: CREATE_PROCESS_DEBUG_INFOdwDebugEventCode 가 CREATE_PROCESS_DEBUG_EVENT (3)이면 u.CreateProcessInfo 는 CREATE_PROCESS_DEBUG_INFO 구조를 지정합니다.
u.ExitThread
형식: EXIT_THREAD_DEBUG_INFOdwDebugEventCode 가 EXIT_THREAD_DEBUG_EVENT (4)이면 u.ExitThread 는 EXIT_THREAD_DEBUG_INFO 구조를 지정합니다.
u.ExitProcess
형식: EXIT_PROCESS_DEBUG_INFOdwDebugEventCode 가 EXIT_PROCESS_DEBUG_EVENT (5)이면 u.ExitProcess 는 EXIT_PROCESS_DEBUG_INFO 구조를 지정합니다.
u.LoadDll
형식: LOAD_DLL_DEBUG_INFOdwDebugEventCode 가 LOAD_DLL_DEBUG_EVENT (6)이면 u.LoadDll 은 LOAD_DLL_DEBUG_INFO 구조를 지정합니다.
u.UnloadDll
형식: UNLOAD_DLL_DEBUG_INFOdwDebugEventCode 가 UNLOAD_DLL_DEBUG_EVENT (7)인 경우 u.UnloadDll 은 UNLOAD_DLL_DEBUG_INFO 구조를 지정합니다.
u.DebugString
형식: OUTPUT_DEBUG_STRING_INFOdwDebugEventCode 가 OUTPUT_DEBUG_STRING_EVENT (8)인 경우 u.DebugString 은 OUTPUT_DEBUG_STRING_INFO 구조를 지정합니다.
u.RipInfo
형식: RIP_INFOdwDebugEventCode 가 RIP_EVENT (9)이면 u.RipInfo 는 RIP_INFO 구조를 지정합니다.
설명
WaitForDebugEvent 함수가 성공하면 DEBUG_EVENT 구조체의 멤버를 채웁니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | minwinbase.h(Windows.h 포함) |