이벤트
디버거 엔진은 대상의 이벤트를 모니터링하고 응답하기 위한 기능을 제공합니다. 이벤트가 발생하면 엔진은 대상을 일시 중단한 다음(종종 간략하게만) 이벤트의 모든 클라이언트에 알립니다. 그러면 엔진이 대상에서 실행을 진행하는 방법에 대해 지시합니다.
클라이언트에 이벤트를 알리기 위해 엔진은 클라이언트에 등록된 이벤트 콜백 개체를 호출합니다. 엔진은 각 이벤트 콜백에 이벤트의 세부 정보를 제공하고 이벤트 콜백은 대상에서 실행을 진행하는 방법에 대해 엔진에 지시합니다. 서로 다른 이벤트 콜백이 충돌하는 지침을 제공하는 경우 엔진은 우선 순위가 가장 높은 명령( DEBUG_STATUS_XXX 참조)에서 작동합니다. 이는 일반적으로 대상의 최소 실행과 관련된 명령을 선택하는 것을 의미합니다.
참고 이벤트 콜백이 이벤트를 처리하는 동안 대상은 일시 중단되고 디버깅 세션에 액세스할 수 있습니다. 그러나 엔진이 WaitForEvent 호출 중에 명시적으로 또는 g(Go) 또는 p(단계)와 같은 명령을 실행하여 암시적으로 이벤트를 기다리고 있었기 때문에 이벤트 콜백은 WaitForEvent를 호출할 수 없으며 디버거가 실행되도록 하는 명령을 실행하려고 하면(예: g(Go) 또는 p(단계)) 엔진은 이러한 명령을 진행 방법에 대한 지침으로 해석합니다.
이벤트 필터
디버거 엔진은 기본 이벤트 모니터링 의 더 간단한 대안인 이벤트 필터도 제공합니다. 이벤트 필터는 이벤트를 디버거의 출력 스트림에 인쇄할지 아니면 디버거에 침입할지를 지정하는 몇 가지 간단한 규칙을 제공합니다. 이벤트가 발생할 때 디버거 명령을 실행하는 데 사용할 수도 있습니다.
추가 정보
이벤트 모니터링에 대한 자세한 내용은 이벤트 모니터링을 참조하세요.