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