附加和分离到程序
附加调试器需要发送方法和事件正确的顺序与相应的属性。
方法和事件的顺序
会议调试管理器 (SDM)调用 IDebugProgramNodeAttach2:: OnAttach 方法。
基于调试引擎 (DE)处理模型, IDebugProgramNodeAttach2::OnAttach 方法返回下列方法之一,确定了接下来发生的情况。
如果 S_FALSE 返回,调试引擎成功附加到程序。 否则, IDebugEngine2:: 附加 方法调用完成额外处理。
如果 S_OK 返回, DE 将加载在同一进程作为 SDM。 SDM 执行以下任务:
调用 IDebugProgramNode2:: GetEngineInfo 获取 DE 的引擎信息。
用于共同创建 DE。
DE 发送 IDebugEngineCreateEvent2 到 EVENT_SYNC 属性的 SDM。
DE 发送 IDebugProgramCreateEvent2 到 EVENT_SYNC 属性的 SDM。
DE 发送 IDebugLoadCompleteEvent2 到 EVENT_SYNC_STOP 属性的 SDM。
分离程序很简单,过程分为两步,如下所示:
SDM 调用 IDebugProgram2:: 分离。
DE 发送 IDebugProgramDestroyEvent2。