ContinueDebugEvent 함수(debugapi.h)
디버거가 이전에 디버깅 이벤트를 보고한 스레드를 계속할 수 있도록 합니다.
구문
BOOL ContinueDebugEvent(
[in] DWORD dwProcessId,
[in] DWORD dwThreadId,
[in] DWORD dwContinueStatus
);
매개 변수
[in] dwProcessId
계속할 프로세스의 프로세스 식별자입니다.
[in] dwThreadId
계속할 스레드의 스레드 식별자입니다. 프로세스 식별자와 스레드 식별자의 조합은 이전에 디버깅 이벤트를 보고한 스레드를 식별해야 합니다.
[in] dwContinueStatus
디버깅 이벤트를 보고한 스레드를 계속하는 옵션입니다.
값 | 의미 |
---|---|
|
dwThreadId 매개 변수로 지정된 스레드가 이전에 EXCEPTION_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 함수는 모든 예외 처리를 중지하고 스레드를 계속하며 예외가 처리된 것으로 표시됩니다. 다른 디버깅 이벤트의 경우 이 플래그는 스레드를 계속합니다. |
|
dwThreadId로 지정된 스레드가 이전에 EXCEPTION_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 함수는 예외 처리를 계속합니다. 첫 번째 예외 이벤트인 경우 구조적 예외 처리기의 검색 및 디스패치 논리가 사용됩니다. 그렇지 않으면 프로세스가 종료됩니다. 다른 디버깅 이벤트의 경우 이 플래그는 스레드를 계속합니다. |
|
Windows 10 버전 1507 이상에서 지원되는 이 플래그는 대상이 계속된 후 dwThreadId가 기존 중단 이벤트를 재생하도록 합니다. 디버거는 dwThreadId에 대해 SuspendThread API를 호출하여 프로세스의 다른 스레드를 다시 시작하고 나중에 중단으로 돌아갈 수 있습니다. |
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
CreateProcess 함수를 사용하여 dwProcessId를 만든 스레드만 ContinueDebugEvent를 호출할 수 있습니다.
ContinueDebugEvent 함수가 성공하면 지정된 스레드가 계속됩니다. 이전에 스레드에서 보고한 디버깅 이벤트에 따라 다른 작업이 발생합니다. 계속된 스레드가 이전에 EXIT_THREAD_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 ContinueDebugEvent 는 디버거가 스레드에 대해 가지고 있는 핸들을 닫습니다. 계속된 스레드가 이전에 EXIT_PROCESS_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 ContinueDebugEvent 는 디버거가 프로세스와 스레드에 대해 가지고 있는 핸들을 닫습니다.
예제
예제는 디버거의 기본 루프 작성을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | debugapi.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |