IDebugExpression2
このインターフェイスは、バインドと評価の準備ができている解析済みの式を表します。
構文
IDebugExpression2 : IUnknown
実装側の注意
デバッグ エンジン (DE) は、評価の準備ができている解析済みの式を表すために、このインターフェイスを実装します。
呼び出し元に関する注意事項
ParseText の呼び出しで、このインターフェイスが返されます。 GetExpressionContext は、IDebugExpressionContext2 インターフェイスを返します。 これらのインターフェイスには、デバッグ中のプログラムが一時停止されていて、スタック フレームが使用可能な場合にのみアクセスできます。
Vtable 順序のメソッド
次の表に、IDebugExpression2
のメソッドを示します。
メソッド | 説明 |
---|---|
EvaluateAsync | この式を非同期的に評価します。 |
Abort | 非同期の式の評価を終了します。 |
EvaluateSync | この式を同期的に評価します。 |
解説
プログラムが停止されると、セッション デバッグ マネージャー (SDM) は、EnumFrameInfo の呼び出しによって DE からスタック フレームを取得します。 次に、SDM は GetExpressionContext を呼び出して、IDebugExpressionContext2 インターフェイスを取得します。 この後に ParseText の呼び出しで、評価の準備ができている解析済みの式を表す IDebugExpression2
インターフェイスを作成します。
SDM は、式を実際に評価して値を生成するために、EvaluateSync または EvaluateAsync を呼び出します。
IDebugExpressionContext2::ParseText
の実装では、DE は COM の CoCreateInstance
関数を使用して式エバリュエーターをインスタンス化し、IDebugExpressionEvaluator インターフェイスを取得します (IDebugExpressionEvaluator
インターフェイスの「例」を参照)。 次に、DE は Parse を呼び出して、IDebugParsedExpression インターフェイスを取得します。 このインターフェイスは、評価を実行するために IDebugExpression2::EvaluateSync
および IDebugExpression2::EvaluateAsync
の実装で使用されます。
要件
ヘッダー: msdbg.h
名前空間: Microsoft.VisualStudio.Debugger.Interop
アセンブリ: Microsoft.VisualStudio.Debugger.Interop.dll