Visual Studio 调试器作为 VSPackage 实现并管理整个调试会话。 调试会话包括以下元素:
调试包: 无论正在调试什么,Visual Studio 调试器都提供相同的用户界面。
会话调试管理器(SDM): 为 Visual Studio 调试器提供一致的编程接口,以便管理各种调试引擎。 它由 Visual Studio 实现。
进程调试管理器(PDM): 管理 Visual Studio 的所有正在运行的实例的列表,其中包含可以或正在调试的所有程序。 它由 Visual Studio 实现。
调试引擎 (DE): 负责监视正在调试的程序,将正在运行的程序的状态传达给 SDM 和 PDM,并与表达式计算器和符号提供程序交互以提供对程序内存和变量状态的实时分析。 它由 Visual Studio 实现(对于它所支持的语言)和想要支持其自己的运行时的第三方供应商。
表达式计算器 (EE): 提供对在特定时间点停止程序时用户提供的动态计算变量和表达式的支持。 它由 Visual Studio(支持的语言)和想要支持自己的语言的第三方供应商实现。
符号提供程序(SP): 也称为符号处理程序,将程序的调试符号映射到程序的运行实例,以便提供有意义的信息(如源代码级调试和表达式计算)。 它由 Visual Studio(适用于公共语言运行时 [CLR] 符号和 Program DataBase [PDB] 符号文件格式)以及具有自己存储调试信息的专有方法的第三方供应商实现。
下图显示了 Visual Studio 调试器这些元素之间的关系。
本部分内容
调试包 讨论调试包,该包在 Visual Studio shell 中运行并处理所有 UI。
进程调试管理器 概述了 PDM 的功能,这是可调试的进程管理器。
会话调试管理器 定义 SDM,它为 IDE 提供调试会话的统一视图。 SDM 管理 DE。
调试引擎 记录 DE 提供的调试服务。
作模式 概述了 IDE 可以运行的三种模式:设计模式、运行模式和中断模式。 还讨论了转换机制。
表达式求值器 在运行时解释 EE 的作用。
符号提供程序 讨论在实现时如何计算变量和表达式。
类型可视化工具和自定义查看器讨论了类型可视化工具 和自定义查看器是什么,以及表达式计算器在支持这两者中的作用。
相关章节
调试器概念 描述了主要的调试体系结构概念。
调试器上下文 说明了 DE 如何在代码、文档和表达式计算上下文中同时运行。 针对每个上下文,描述其相关的地点、位置或评估。
调试任务 包含指向各种调试任务的链接,例如启动程序和计算表达式。