連結和中斷連結程式
連結偵錯工具需要以適當的屬性傳送正確的方法和事件順序。
方法和事件的順序
工作階段偵錯管理員 (SDM) 會呼叫 OnAttach 方法。
根據偵錯引擎 (DE) 處理序模型,
IDebugProgramNodeAttach2::OnAttach
方法會傳回下列其中一種方法,以決定接下來會發生什麼事。如果傳回
S_FALSE
,表示偵錯引擎已成功連結至程式。 否則,會呼叫 Attach 方法以完成連結程序。如果傳回
S_OK
,會將 DE 載入與 SDM 相同的程序中。 SDM 會執行下列工作:呼叫 GetEngineInfo 以取得 DE 的引擎資訊。
共同建立 DE。
呼叫 Attach。
DE 使用
EVENT_SYNC
屬性將 IDebugEngineCreateEvent2 傳送至 SDM。DE 使用
EVENT_SYNC
屬性將 IDebugProgramCreateEvent2 傳送至 SDM。DE 使用
EVENT_SYNC_STOP
屬性將 IDebugLoadCompleteEvent2 傳送至 SDM。與程式中斷連結是一個簡單的兩步驟程序,如下所示:
SDM 呼叫 Detach。
DE 傳送 IDebugProgramDestroyEvent2。