다음을 통해 공유


IDebugCanStopEvent2

이 인터페이스는 SDM(세션 디버그 관리자)에게 현재 코드 위치에서 중지할지 여부를 묻는 데 사용됩니다.

구문

IDebugCanStopEvent2 : IUknown

구현자에 대한 참고 사항

DE(디버그 엔진)는 소스 코드 단계별 실행이 지원되도록 이 인터페이스를 구현합니다. IDebugEvent2 인터페이스는 이 인터페이스와 동일한 개체에 구현되어야 합니다(SDM은 QueryInterface를 사용하여 IDebugEvent2 인터페이스에 액세스함).

이 인터페이스의 구현은 SDM의 CanStop 호출을 디버그 엔진에 전달해야 합니다. 예를 들어 이 작업은 디버그 엔진의 메시지 처리 스레드에 게시된 메시지를 사용하거나 이 인터페이스를 구현하는 개체가 디버그 엔진에 대한 참조를 보유하고 플래그가 IDebugCanStopEvent2::CanStop으로 전달된 디버그 엔진으로 다시 호출할 수 있습니다.

호출자 참고 사항

DE는 DE가 실행을 계속하라는 요청을 받고 DE가 코드를 단계별로 실행할 때마다 이 메서드를 보낼 수 있습니다. 이 이벤트는 디버그 중인 프로그램에 연결될 때 SDM에서 제공하는 IDebugEventCallback2 콜백 함수를 사용하여 전송됩니다.

Vtable 순서의 메서드

다음 표에서는 IDebugCanStopEvent2 메서드를 보여 줍니다.

메서드 설명
GetReason 이 이벤트의 이유를 가져옵니다.
CanStop 디버그 중인 프로그램이 이 이벤트의 위치에서 중지할지(그리고 중지 이유를 설명하는 이벤트 보내야 할지) 또는 실행을 계속할지를 지정합니다.
GetDocumentContext 이 이벤트의 위치를 설명하는 문서 컨텍스트를 가져옵니다.
GetCodeContext 이 이벤트의 위치를 설명하는 코드 컨텍스트를 가져옵니다.

설명

사용자가 함수에 들어가고 DE가 디버그 정보를 찾지 못하거나 디버그 정보가 없는 경우 DE는 이 인터페이스를 전송하지만 DE는 해당 위치에 대한 소스 코드를 표시할 수 있는지 여부를 알지 못합니다.

요구 사항

헤더: msdbg.h

네임스페이스: Microsoft.VisualStudio.Debugger.Interop

어셈블리: Microsoft.VisualStudio.Debugger.Interop.dll

참고 항목