显示局部变量
重要
在 Visual Studio 2015 中,这种实现表达式计算器的方法已弃用。 有关实现 CLR 表达式计算器的信息,请参阅 CLR 表达式计算器和托管表达式计算器示例。
执行始终发生在方法的上下文中进行,也称为包含的方法或当前方法。 执行暂停时,Visual Studio 调用调试引擎 (DE) 以获取局部变量和参数的列表,统称为该方法的局部变量。 Visual Studio 在“局部变量”窗口中显示这些局部变量及其值。
为了显示局部变量,DE 调用属于 EE 的 GetMethodProperty 方法,并为其提供计算上下文,即符号提供程序 (SP)、当前执行地址和联编程序对象。 有关详细信息,请参阅计算上下文。 如果调用成功,IDebugExpressionEvaluator::GetMethodProperty
方法将返回一个 IDebugProperty2 对象,表示包含当前执行地址的方法。
DE 调用 EnumChildren 以获取 IEnumDebugPropertyInfo2 对象,该对象经过筛选,以仅返回局部变量并枚举以生成 DEBUG_PROPERTY_INFO 结构列表。 每个结构都包含局部变量的名称、类型和值。 类型和值以格式化字符串的形式存储,适合显示。 名称、类型和值通常一起显示在“局部变量”窗口的一行中。
注意
“快速监视”和“监视”窗口还显示具有相同格式的名称、值和类型的变量。 但是,这些值是通过调用 GetPropertyInfo,而不是 IDebugProperty2::EnumChildren
获取。
本节内容
局部变量的示例实现使用示例来逐步介绍实现局部变量的过程。
相关内容
计算上下文说明了在调试引擎 (DE) 调用表达式计算器 (EE) 时会传递三个参数。