다음을 통해 공유


ContinueDebugEvent 함수(debugapi.h)

디버거가 이전에 디버깅 이벤트를 보고한 스레드를 계속할 수 있도록 합니다.

구문

BOOL ContinueDebugEvent(
  [in] DWORD dwProcessId,
  [in] DWORD dwThreadId,
  [in] DWORD dwContinueStatus
);

매개 변수

[in] dwProcessId

계속할 프로세스의 프로세스 식별자입니다.

[in] dwThreadId

계속할 스레드의 스레드 식별자입니다. 프로세스 식별자와 스레드 식별자의 조합은 이전에 디버깅 이벤트를 보고한 스레드를 식별해야 합니다.

[in] dwContinueStatus

디버깅 이벤트를 보고한 스레드를 계속하는 옵션입니다.

의미
DBG_CONTINUE
0x00010002L
dwThreadId 매개 변수로 지정된 스레드가 이전에 EXCEPTION_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 함수는 모든 예외 처리를 중지하고 스레드를 계속하며 예외가 처리된 것으로 표시됩니다. 다른 디버깅 이벤트의 경우 이 플래그는 스레드를 계속합니다.
DBG_EXCEPTION_NOT_HANDLED
0x80010001L
dwThreadId로 지정된 스레드가 이전에 EXCEPTION_DEBUG_EVENT 디버깅 이벤트를 보고한 경우 함수는 예외 처리를 계속합니다. 첫 번째 예외 이벤트인 경우 구조적 예외 처리기의 검색 및 디스패치 논리가 사용됩니다. 그렇지 않으면 프로세스가 종료됩니다. 다른 디버깅 이벤트의 경우 이 플래그는 스레드를 계속합니다.
DBG_REPLY_LATER
0x40010001L
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

참고 항목

CreateProcess

디버깅 이벤트

디버깅 함수