启动后发送启动事件
调试引擎(DE)附加到程序后,它会将一系列启动事件发送回调试会话。
发回调试会话的启动事件包括:
引擎创建事件。
程序创建事件。
线程创建和模块加载事件。
加载完成事件,在加载代码并准备好运行代码时发送,但在执行任何代码之前。
注意
继续此事件后,将初始化全局变量并运行启动例程。
可能的其他线程创建和模块加载事件。
入口点事件,指示程序已到达其主入口点,如 Main 或
WinMain
。 如果 DE 附加到正在运行的程序,则通常不会发送此事件。以编程方式,DE 首先发送会话调试管理器 (SDM) IDebugEngineCreateEvent2 接口,该接口表示引擎创建事件,后跟一个 IDebugProgramCreateEvent2,该接口表示程序创建事件。
这些事件通常后跟一个或多个 IDebugThreadCreateEvent2 线程创建事件和 IDebugModuleLoadEvent2 模块加载事件。
加载代码并准备好运行代码,但在执行任何代码之前,DE 会将 SDM 发送到 IDebugLoadCompleteEvent2 加载完整事件。 最后,如果程序尚未运行,DE 会发送 IDebugEntryPointEvent2 入口点事件,表明程序已到达其主入口点并已准备好进行调试。