次の方法で共有


IDebugProperty2

このインターフェイスは、スタック フレーム プロパティ、プログラム ドキュメント プロパティ、またはその他のプロパティを表します。 プロパティは通常、式評価の結果です。

Note

このような "プロパティ" の使用をクラスのメンバー変数と混同しないでください。ただし、IDebugProperty2 ではこのようなエンティティを表すことができます。

構文

IDebugProperty2 : IUnknown

実装側の注意

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

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

EvaluateSync または EvaluateAsync を呼び出して、評価の結果を表すこのインターフェイスを取得します。 IDebugExpression2::EvaluateAsync は、後に GetResult を呼び出してプロパティを取得する IDebugExpressionEvaluationCompleteEvent2 インターフェイスを SDM に送信してこのインターフェイスを返します。

  • GetDebugProperty は、関連付けられているスクリプト ドキュメントを提供するために、このインターフェイスを返します。

  • GetReturnValue 値は、関数の戻り値を表すために、このインターフェイスを返します。

  • GetDebugProperty は、名前やメモリ コンテキストなど、プログラムのさまざまなプロパティを表すために、このインターフェイスを返します。

  • GetDebugProperty は、ローカル変数など、スタック フレームのさまざまなプロパティを表すために、このインターフェイスを返します。

Vtable 順序のメソッド

次の表に、IDebugProperty2 のメソッドを示します。

メソッド 説明
GetPropertyInfo プロパティを記述する DEBUG_PROPERTY_INFO 構造体を満たします。
SetValueAsString 文字列からプロパティの値を設定します。
SetValueAsReference 指定された参照の値からプロパティの値を設定します。
EnumChildren プロパティの子を列挙します。
GetParent プロパティの親を返します。
GetDerivedMostProperty プロパティの最派生プロパティを記述するプロパティを返します。
GetMemoryBytes プロパティの値を構成するメモリのバイト数を返します。
GetMemoryContext プロパティ値のメモリ コンテキストを返します。
GetSize プロパティの値のサイズをバイト単位で返します。
GetReference このプロパティの値への参照を返します。
GetExtendedInfo プロパティの拡張情報を返します。

解説

IDebugProperty2 インターフェイスによって表されるプロパティは、名前、型、アドレスを持つ値であると考えることができます。 より一般的な言い方をすると、IDebugProperty2 は、親と子のノードがある階層構造を持つ要素であれば何でも表すことができます。

プロパティは通常は一時的なものであり、たとえば、現在のスタック フレームと同じ期間だけ存続します。 一方、IDebugReference2 インターフェイスによって表される参照は、値がメモリにとどまる限りは存続します。

IDE で IDebugProperty2 インターフェイスを使用して、ユーザーが実行時にプロパティを参照および変更できるようにすることができます。

要件

ヘッダー: msdbg.h

名前空間: Microsoft.VisualStudio.Debugger.Interop

アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll

関連項目