式の評価
式は、[自動変数]、[ウォッチ]、[クイックウォッチ]、または [イミディエイト] ウィンドウから渡された文字列から作成されます。 式が評価されると、変数または引数の名前と型、およびその値を含む出力可能な文字列が生成されます。 この文字列は、対応する IDE ウィンドウに表示されます。
実装
式は、プログラムがブレークポイントで停止したときに評価されます。 式自体は、IDebugExpression2 インターフェイスによって表されます。これは、指定された式の評価のコンテキスト内でバインドと評価の準備ができている解析済みの式を表します。 IDebugExpressionContext2 インターフェイスを実装することによって、デバッグ エンジン (DE) が提供する式の評価コンテキストが、スタック フレームによって決まります。
ユーザー文字列と IDebugExpressionContext2 インターフェイスが指定されている場合、ユーザー文字列を IDebugExpressionContext2::ParseText メソッドに渡すことによって、デバッグ エンジン (DE) が、IDebugExpression2 インターフェイスを取得できます。 返される IDebugExpression2 インターフェイスには、評価の準備ができた解析済みの式が含まれます。
IDebugExpression2
インターフェイスによって、DE では、IDebugExpression2::EvaluateSync または IDebugExpression2::EvaluateAsync を使用して、同期または非同期の式の評価を通じて、式の値を取得できます。 この値は、変数または引数の名前と型と共に、IDE に送信され、表示されます。 値、名前、および型は、IDebugProperty2 インターフェイスによって表されます。
式の評価を有効にするには、DE で IDebugExpression2 インターフェイスと IDebugExpressionContext2 インターフェイスを実装する必要があります。 同期と非同期の両方の評価で、IDebugProperty2::GetPropertyInfo メソッドの実装が必要になります。