启动调试器需要发送正确的方法和事件序列,并确保带有适当的属性。
方法和事件的序列
通过选择 “ 调试”菜单,然后选择“ 开始”来调用会话调试管理器(SDM)。 有关详细信息,请参阅 启动程序。
SDM 调用 OnAttach 方法。
该方法基于调试引擎 (DE) 进程模型
IDebugProgramNodeAttach2::OnAttach返回以下方法之一,该方法确定接下来会发生什么。如果
S_FALSE返回,调试引擎(DE)将在虚拟机进程中加载。-或-
如果
S_OK返回,则 DE 将在 SDM 的进程中加载。 然后,SDM 执行以下任务:调用 GetEngineInfo 以获取 DE 的引擎信息。
共同创建数字环境(DE)。
调用 附加。
DE 通过
EVENT_SYNC属性将IDebugEngineCreateEvent2发送到 SDM。DE 通过附加一个
EVENT_SYNC属性将 IDebugProgramCreateEvent2 事件发送到 SDM。DE 将 IDebugThreadCreateEvent2 与
EVENT_SYNC属性一起发送到 SDM。DE 将具有
EVENT_SYNC属性的IDebugLoadCompleteEvent2发送到 SDM。DE 将 IDebugEntryPointEvent2 及一个
EVENT_SYNC属性发送到 SDM。