式エバリュエーターを実装する
重要
Visual Studio 2015 では、この方法での式エバリュエーターの実装は非推奨です。 CLR 式エバリュエーターの実装については、CLR 式エバリュエーターに関する記事とマネージド式エバリュエーターのサンプルに関する記事をご覧ください。
式の評価は、デバッグ エンジン (DE)、シンボル プロバイダー (SP)、バインダー オブジェクト、および式エバリュエーター (EE) の間での複雑な相互関係です。 これら 4 つのコンポーネントは、1 つのコンポーネントによって実装され、別のコンポーネントによって使用されるインターフェイスによって接続されます。
EE により、文字列形式で DE から式が取得され、それが解析または評価されます。 EE では、DE によって使用される次のインターフェイスを実行します。
-
EE により、DE によって提供されるバインダー オブジェクトが呼び出され、シンボルとオブジェクトの値が取得されます。 EE では、DE によって実装される次のインターフェイスが使用されます。
-
EE により IDebugProperty2 が実行されます。
IDebugProperty2
により、ローカル変数、プリミティブ、または Visual Studio へのオブジェクトなど、式の評価結果を記述するための機構が提供されます。これにより、[ローカル]、[ウォッチ]、または [イミディエイト] ウィンドウに適切な情報が表示されます。EE から情報の要求があると、SP が DE によって与えられます。 SP により、次のインターフェイスやその派生物などのアドレスとフィールドを記述するインターフェイスが実行されます。
-
EE では、これらのインターフェイスのすべてが使用されます。
このセクションの内容
「式エバリュエーターの実装方法」では、式エバリュエーター (EE) 実装戦略の 3 段階のプロセスが定義されています。