调试器组件

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] 符号和程序数据库 [PDB] 符号文件格式)和第三方供应商(拥有自己的专有调试信息存储方法)都实现了这一功能。

    下图显示了 Visual Studio 调试器这些组件之间的关系。

    调试组件概述

本节内容

调试包讨论在 Visual Studio 外壳中运行并处理所有 UI 的调试包。

进程调试管理器概述 PDM 的功能,它是可调试进程的管理器。

会话调试管理器定义 SDM,为集成开发环境提供调试会话的统一视图。 SDM 管理 DE。

调试引擎记录 DE 提供的调试服务。

操作模式概述集成开发环境的三种运行模式:设计模式、运行模式和中断模式。 还讨论了转换机制。

表达式计算器解释运行时 EE 的目的。

符号提供程序讨论符号提供程序在执行时如何计算变量和表达式。

类型可视化工具和自定义查看器讨论什么是类型可视化器和自定义查看器,以及表达式计算器在支持这两者中扮演的角色。

调试器概念介绍主要的调试体系结构概念。

调试器上下文说明 DE 如何在代码、文档和表达式计算上下文中同时运行。 介绍这三个上下文的位置或相关评估。

调试任务包含各种调试任务的链接,如启动程序和计算表达式。

另请参阅