이벤트 모니터링

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

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

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

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

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

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

  • 중단점 이벤트

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

  • 시스템 오류

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

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

  • 프로세스 이벤트 만들기

  • 프로세스 종료 이벤트

  • 스레드 이벤트 만들기

  • 스레드 이벤트 종료

  • 모듈 이벤트 로드

  • 모듈 이벤트 언로드

내부 엔진 변경 내용

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

  • 대상 변경

  • 엔진 변경

  • 엔진 기호 변경

  • 세션 상태 변경