Programs

在调试器架构中,程序

  • 是线程集和模块集的容器。 程序在 Windows 操作系统中没有单个类比。

    程序是一种子进程。 例如,在调试网站时,脚本可以看作是一个程序。 尽管脚本在脚本引擎进程中独立运行,与其他脚本无关,但它也有自己的线程集。 调试引擎 (DE) 附加到程序,而不是附加到进程或线程上。

  • 可以标识自身及其正在运行的进程。 程序可以附加到 DE 上,也可以从 DE 分离,并且可以描述创建它的调试引擎(如果有的话)。 程序还可以执行、停止、继续和终止。

  • 可以枚举其所有线程。 程序还可以提供自己的反汇编流,并枚举给定文档位置的所有代码上下文。

  • 程序由 IDebugProgram2 接口表示,在程序附加之前或作为附加过程的一部分创建,具体取决于实现方式。 当端口枚举进程的程序时,每个程序都是根据传递给 AddProgramNode 的相应 IDebugProgramNode2 接口创建。 虽然调试引擎还创建 IDebugProgram2 接口来表示程序,但这些程序不会根据程序节点创建。 DE 创建的 IDebugProgramNode2 接口用于实际调试,而端口创建的接口仅用于发现哪些程序正在进程中运行。

另请参阅