启动调试器

启动调试器需要发送正确的方法和事件序列,并确保带有适当的属性。

方法和事件的序列

  1. 通过选择 调试”菜单,然后选择“ 开始”来调用会话调试管理器(SDM)。 有关详细信息,请参阅 启动程序

  2. SDM 调用 OnAttach 方法。

  3. 该方法基于调试引擎 (DE) 进程模型 IDebugProgramNodeAttach2::OnAttach 返回以下方法之一,该方法确定接下来会发生什么。

    如果 S_FALSE 返回,调试引擎(DE)将在虚拟机进程中加载。

    -或-

    如果 S_OK 返回,则 DE 将在 SDM 的进程中加载。 然后,SDM 执行以下任务:

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

    2. 共同创建数字环境(DE)。

    3. 调用 附加

  4. DE 通过EVENT_SYNC 属性将IDebugEngineCreateEvent2发送到 SDM。

  5. DE 通过附加一个 EVENT_SYNC 属性将 IDebugProgramCreateEvent2 事件发送到 SDM。

  6. DE 将 IDebugThreadCreateEvent2EVENT_SYNC 属性一起发送到 SDM。

  7. DE 将具有EVENT_SYNC属性的IDebugLoadCompleteEvent2发送到 SDM。

  8. DE 将 IDebugEntryPointEvent2 及一个 EVENT_SYNC 属性发送到 SDM。