IDebugCanStopEvent2
這個介面可用來詢問工作階段偵錯管理員 (SDM) 是否要停止在目前的程式代碼位置。
語法
IDebugCanStopEvent2 : IUknown
實作者的注意事項
偵錯引擎 (DE) 會實作這個介面,以支援逐步執行原始程式碼。 IDebugEvent2 介面必須在與這個介面相同的對象上實作(SDM 使用 QueryInterface 來存取IDebugEvent2
介面)。
這個介面的實作必須將 SDM 的 CanStop 呼叫通訊至偵錯引擎。 例如,這可以透過張貼至偵錯引擎訊息處理線程的訊息來完成,或實作這個介面的物件可以保存偵錯引擎的參考,並使用傳遞至 IDebugCanStopEvent2::CanStop
的旗標回呼叫偵錯引擎。
呼叫端注意事項
每次要求 DE 繼續執行時,DE 都可以傳送此方法,而 DE 會逐步執行程式代碼。 當 SDM 附加至偵錯的程式時,會使用 SDM 所提供的 IDebugEventCallback2 回呼函式來傳送此事件。
依照 Vtable 順序的方法
下表顯示 IDebugCanStopEvent2
方法。
方法 | 描述 |
---|---|
GetReason | 取得這個事件的原因。 |
CanStop | 指定正在偵錯的程式應該停止於此事件的位置(並傳送描述停止原因的事件),或只是繼續執行。 |
GetDocumentContext | 取得描述此事件位置的文件內容。 |
GetCodeContext | 取得描述此事件位置的程式代碼內容。 |
備註
如果使用者逐步執行函式,且 DE 找不到偵錯資訊,或偵錯資訊存在,但 DE 不知道是否可以顯示該位置的原始程式碼,則 DE 會傳送此介面。
需求
標頭:msdbg.h
命名空間:Microsoft.VisualStudio.Debugger.Interop
元件:Microsoft.VisualStudio.Debugger.Interop.dll