다음을 통해 공유


이벤트 모니터링

디버거 엔진이벤트에 대한 개요는 이벤트참조하세요.

대상 또는 디버거 엔진에서 발생하는 이벤트는 IDebugEventCallbacks 인터페이스를 사용하여 모니터링할 수 있습니다. IDebugEventCallbacks 개체는 SetEventCallbacks사용하여 클라이언트에 등록할 수 있습니다. 각 클라이언트에는 최대 하나의 IDebugEventCallbacks 개체가 등록되어 있을 수 있습니다.

IDebugEventCallbacks 개체가 클라이언트에 등록되면 엔진은 개체의 IDebugEventCallbacks::GetInterestMask 호출하여 개체가 관심 있는 이벤트를 결정합니다. 개체가 관심 있는 이벤트만 개체로 전송됩니다.

각 이벤트 유형에 대해 엔진은 IDebugEventCallbacks해당 콜백 메서드를 호출합니다. 대상의 이벤트의 경우 이러한 호출에서 반환된 DEBUG_STATUS_XXX 값은 대상 실행을 진행하는 방법을 지정합니다. 엔진은 호출하고 우선 순위가 가장 높은 개체를 IDebugEventCallbacks에서 이러한 반환 값을 수집합니다.

기본적으로 디버거에 침입하는 대상의 이벤트

다음 이벤트는 기본적으로 디버거에 침입합니다.

  • 중단점 이벤트

  • 예외 이벤트(여기에 문서화되지 않음)

  • 시스템 오류

기본 설정으로 디버거에 침입하지 않는 Target의 이벤트

다음 이벤트는 기본적으로 디버거에 침입하지 않습니다.

  • 프로세스 이벤트 만들기

  • 프로세스 종료 이벤트

  • 스레드 이벤트 만들기

  • 스레드 종료 이벤트

  • 모듈 이벤트 로드

  • 모듈 언로드 이벤트

내부 엔진 변경

다음은 실제 이벤트가 아니라 내부 엔진 변경 내용일 뿐입니다.

  • 대상 변경

  • 엔진 변경

  • 엔진 기호 변경

  • 세션 상태 변경