重要
Visual Studio 2015 では、この方法での式エバリュエーターの実装は非推奨です。 CLR 式エバリュエーターの実装については、CLR 式エバリュエーターおよびマネージド式エバリュエーターのサンプルに関する記事をご覧ください。
このインターフェイスは、通常、シンボル プロバイダーによって返されるシンボル フィールドを、シンボルの現在の値を格納しているメモリ コンテキストまたはオブジェクトにバインドします。
構文
IDebugBinder : IUnknown
実装側の注意
このインターフェイスは、式の評価をサポートし、デバッグ エンジン (DE) によって実装される必要があります。
呼び出し元に関する注意事項
このインターフェイスは、式の評価プロセスで使用され、通常は EvaluateSync および EvaluateAsync の実装で使用されます。
Vtable 順序のメソッド
次の表に、IDebugBinder
のメソッドを示します。
メソッド | 説明 |
---|---|
Bind | シンボルの現在の値を格納しているメモリ コンテキストまたはオブジェクトを取得します。 |
ResolveRuntimeType | オブジェクトのランタイム型を確認します。 |
GetMemoryContext | オブジェクトの場所またはメモリ アドレスをメモリ コンテキストに変換します。 |
GetFunctionObject | 関数パラメーターを作成するために使用する IDebugFunctionObject オブジェクトを取得します。 |
ResolveDynamicType | 変数の正確な型を取得します。 |
解説
このインターフェイスは、解析ツリーの式エバリュエーターによって使用されるオブジェクトを返します。 式エバリュエーターは、式のシンボルを IDebugField のインスタンスに変換するために、シンボル プロバイダーを使用して式を解析します。これにより、各シンボルが、ソース コード内の種類と場所の観点から記述されます。 Bind メソッドは、IDebugField
オブジェクトを、シンボルの種類をメモリ内の実際の値に接続またはバインドする IDebugObject オブジェクトに変換します。 その後、これらの IDebugObject
オブジェクトは、後で評価できるように解析ツリーに格納されます。
要件
ヘッダー: ee.h
名前空間: Microsoft.VisualStudio.Debugger.Interop
アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll