このインターフェイスは、スタック フレーム プロパティまたはその他のプロパティへの参照を表します。
Note
IDebugReference2
は将来使用するために予約されており、そのすべてのメソッドが E_NOTIMPL
を返す必要があります。
構文
IDebugReference2 : IUnknown
実装側の注意
DE では、特定の種類の値への参照を表すために、このインターフェイスを実装します。 たとえば、値には、式の評価の結果としての数値、メモリの表示に使用されるメモリ コンテキスト、レジスタとその値の一覧などがあります。
呼び出し元に関する注意事項
このインターフェイスを取得するには、GetReference を呼び出します。 GetParent と GetDerivedMostReference でも、このインターフェイスを返します。
Vtable 順序のメソッド
次の表に、IDebugReference2
のメソッドを示します。
メソッド | 説明 |
---|---|
GetReferenceInfo | この参照が記述されている DEBUG_REFERENCE_INFO 構造体を取得します。 |
SetValueAsString | 文字列からこの参照の値を設定します。 |
SetValueAsReference | 別の参照からこの参照の値を設定します。 |
EnumChildren | この参照の子を列挙します。 |
GetParent | この参照の親を取得します。 |
GetDerivedMostReference | この参照の最派生参照を取得します。 |
GetMemoryBytes | この参照が参照するメモリ バイト数を取得します。 |
GetMemoryContext | この参照のメモリ コンテキストを取得します。 |
GetSize | この参照のサイズ (バイト単位) を取得します。 |
SetReferenceType | この参照型を設定します。 |
比較 | この参照と別のものを比較します。 |
解説
Note
このような "プロパティ" の使用をクラスのメンバー変数と混同しないでください。ただし、IDebugReference2
ではこのようなエンティティを表すことができます。
- IDebugProperty2 はプロパティを表しますが、
IDebugReference2
はプロパティへの参照、通常はデバッグ中のプログラム内のオブジェクトへの参照を表します。
プロパティと参照の主な違いは、プロパティがオブジェクトの名前付きインスタンスを参照するのに対し、参照は名前のないインスタンスを参照することです。 たとえば、プロパティでは、"a.b"
によってプログラムのヒープ内にあるオブジェクトを参照できます。 別のプロパティでは、"c.d"
と同じオブジェクトを参照できる可能性があります。 このプロパティを参照する方法では、"a.b"
または "c.d"
がスコープ内にある必要があります。 この同じオブジェクトへの参照は無名です。そのオブジェクトのメモリが有効である限り、オブジェクトを参照できます。
IDebugProperty2
インターフェイスは、名前、型、およびアドレスを持つ値であると考えることができます。 一方、IDebugReference2
は、型とアドレスであると考えることができます。
要件
ヘッダー: msdbg.h
名前空間: Microsoft.VisualStudio.Debugger.Interop
アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll