使用运行时体系结构来确定调试引擎 (DE) 实现策略。 您可以在调试的程序的进程内创建调试引擎。 在 Visual Studio 会话调试管理器 (SDM) 中创建进程内调试引擎。 或者,为这两个组件创建外部进程的调试引擎。 以下准则应帮助你选择这三种策略。
准则
虽然 DE 可以与 SDM 和正在调试的程序分开运行,但通常没有必要这样做。 跨进程边界的调用相对较慢。
已为 Win32 本机运行时环境和公共语言运行时环境提供调试引擎。 如果必须替换任一环境的 DE,则应使用 SDM 在内部创建 DE。
否则,可以在 SDM 的进程内创建 DE,也可以在正在调试的程序的进程内创建。 需要考虑 DE 的表达式计算器是否需要频繁访问程序符号存储。 或者,如果符号存储可以加载到内存中以便快速访问。 此外,请考虑以下方法:
- 如果表达式计算器和符号存储之间的调用不多,或者符号存储可以读入 SDM 内存空间,请创建 DE 以在 SDM 内部进程处理。 当 SDM 附加到你的程序时,你必须将调试引擎的 CLSID 返回给 SDM。 SDM 使用此 CLSID 创建 DE 的进程内实例。 
- 如果 DE 必须调用程序来访问符号存储,请在程序内部创建 DE。 在这种情况下,程序将创建 DE 的实例。