附加和分离到程序

附加调试器需要发送方法和事件正确的顺序与相应的属性。

方法和事件的顺序

  1. 会议调试管理器 (SDM)调用 IDebugProgramNodeAttach2:: OnAttach 方法。

    基于调试引擎 (DE)处理模型, IDebugProgramNodeAttach2::OnAttach 方法返回下列方法之一,确定了接下来发生的情况。

    如果 S_FALSE 返回,调试引擎成功附加到程序。 否则, IDebugEngine2:: 附加 方法调用完成额外处理。

    如果 S_OK 返回, DE 将加载在同一进程作为 SDM。 SDM 执行以下任务:

    1. 调用 IDebugProgramNode2:: GetEngineInfo 获取 DE 的引擎信息。

    2. 用于共同创建 DE。

    3. 调用 IDebugEngine2:: 附加

  2. DE 发送 IDebugEngineCreateEvent2EVENT_SYNC 属性的 SDM。

  3. DE 发送 IDebugProgramCreateEvent2EVENT_SYNC 属性的 SDM。

  4. DE 发送 IDebugLoadCompleteEvent2EVENT_SYNC_STOP 属性的 SDM。

分离程序很简单,过程分为两步,如下所示:

  1. SDM 调用 IDebugProgram2:: 分离

  2. DE 发送 IDebugProgramDestroyEvent2

请参见

概念

调用调试器事件