次の方法で共有


IDebugReference2

このインターフェイスは、スタック フレーム プロパティまたはその他のプロパティへの参照を表します。

Note

IDebugReference2 は将来使用するために予約されており、そのすべてのメソッドが E_NOTIMPL を返す必要があります。

構文

IDebugReference2 : IUnknown

実装側の注意

DE では、特定の種類の値への参照を表すために、このインターフェイスを実装します。 たとえば、値には、式の評価の結果としての数値、メモリの表示に使用されるメモリ コンテキスト、レジスタとその値の一覧などがあります。

呼び出し元に関する注意事項

このインターフェイスを取得するには、GetReference を呼び出します。 GetParentGetDerivedMostReference でも、このインターフェイスを返します。

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

関連項目