次の方法で共有


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

関連項目