IDebugReference2

此接口表示对堆栈帧属性或其他属性的引用。

注意

IDebugReference2 保留供将来使用,其所有方法都应返回 E_NOTIMPL

语法

IDebugReference2 : IUnknown

实现者须知

DE 实现此接口来表示对特定类型的值的引用。 例如,该值可能是表达式计算的结果、用于显示内存的内存上下文或寄存器列表及其值的结果的数字值。

对调用者的说明

调用 GetReference 以获取此接口。 GetParentGetDerivedMostReference 也返回此接口。

Vtable 顺序中的方法

下表显示了 IDebugReference2 方法。

方法 说明
GetReferenceInfo 获取描述 此引用的DEBUG_REFERENCE_INFO 结构。
SetValueAsString 设置字符串中此引用的值。
SetValueAsReference 从另一个引用设置此引用的值。
EnumChildren 枚举此引用的子级。
GetParent 获取此引用的父级。
GetDerivedMostReference 获取此引用的最派生引用。
GetMemoryBytes 获取此引用引用所引用的内存字节。
GetMemoryContext 获取此引用的内存上下文。
GetSize 获取此引用的大小(以字节为单位)。
SetReferenceType 设置此引用类型。
比较 将此引用与其他引用进行比较。

备注

注意

不应将这种使用“property”与这意味着类的成员变量混淆,尽管可以 IDebugReference2 表示此类实体。

  • IDebugProperty2 表示属性,而 IDebugReference2 表示对属性的引用,通常是对正在调试的程序中的对象的引用。

属性和引用之间的主要区别是属性引用对象的命名实例,而引用引用引用未命名实例。 例如,属性可能引用程序堆 "a.b"中的对象。 另一个属性可能引用同一对象 "c.d"。 引用此属性的方法要求或"a.b""c.d"处于范围内。 对同一对象的引用是无名称的;只要该对象的内存有效,就可以引用该对象的内存。

IDebugProperty2可以将接口视为具有名称、类型和地址的值。 另一 IDebugReference2方面,可以将其视为类型和地址。

要求

标头:msdbg.h

命名空间:Microsoft.VisualStudio.Debugger.Interop

程序集:Microsoft.VisualStudio.Debugger.Interop.dll

另请参阅