ICorDebugEval インターフェイス

デバッガーが、デバッグ中のコードのコンテキスト内でコードを実行できるメソッドを提供します。

メソッド

メソッド

説明

ICorDebugEval::Abort メソッド

この ICorDebugEval オブジェクトが現在実行している計算を中止します。

ICorDebugEval::CallFunction メソッド

指定した関数への呼び出しを設定します。 このメソッドは、.NET Framework Version 2.0 で互換性のために残されています。代わりに ICorDebugEval2::CallParameterizedFunction を使用してください。

ICorDebugEval::CreateValue メソッド

初期値がゼロまたは null の、指定した型の ICorDebugValue インターフェイス オブジェクトへのインターフェイス ポインターを取得します。 このメソッドは、.NET Framework 2.0 で互換性のために残されています。代わりに ICorDebugEval2::CreateValueForType を使用してください。

ICorDebugEval::GetResult メソッド

評価の結果を含む ICorDebugValue へのインターフェイス ポインターを取得します。

ICorDebugEval::GetThread メソッド

この評価を実行しているか、今後実行する ICorDebugThread へのインターフェイス ポインターを取得します。

ICorDebugEval::IsActive メソッド

この ICorDebugEval オブジェクトが現在実行中かどうかを示す値を取得します。

ICorDebugEval::NewArray メソッド

指定した要素型および大きさの新しい配列を割り当てます。 このメソッドは、.NET Framework 2.0 で互換性のために残されています。代わりに ICorDebugEval2::NewParameterizedArray を使用してください。

ICorDebugEval::NewObject メソッド

新しいオブジェクト インスタンスを割り当て、指定したコンストラクター メソッドを呼び出します。 このメソッドは、.NET Framework 2.0 で互換性のために残されています。代わりに ICorDebugEval2::NewParameterizedObject を使用してください。

ICorDebugEval::NewObjectNoConstructor メソッド

コンストラクター メソッドを呼び出さずに、指定した型の新しいオブジェクト インスタンスを割り当てます。 このメソッドは、.NET Framework 2.0 で互換性のために残されています。代わりに ICorDebugEval2::NewParameterizedObjectNoConstructor を使用してください。

ICorDebugEval::NewString メソッド

指定した内容で新しい文字列オブジェクトを割り当てます。

解説

ICorDebugEval オブジェクトは、評価を実行するために使用される特定のスレッドのコンテキストで作成されます。 特定の評価で使用されるオブジェクトと型はすべて、同じアプリケーション ドメイン内にあることが必要です。 そのアプリケーション ドメインは、スレッドの現在のアプリケーション ドメインと同じである必要はありません。 評価は入れ子構造にできます。

評価の操作は、デバッガーが ICorDebugController::Continue を呼び出してから、ICorDebugManagedCallback::EvalComplete コールバックを受け取るまで完了しません。 他のスレッドを実行できないようにして評価機能を使用する必要がある場合は、ICorDebugController::Continue を呼び出す前に、ICorDebugController::SetAllThreadsDebugState または ICorDebugController::Stop を使用してスレッドを中断します。

ユーザー コードは評価の実行中に実行されるため、クラスの読み込みやブレークポイントなど、デバッグ イベントが発生する可能性があります。 デバッガーは、これらのイベントのコールバックを通常どおりに受け取ります。 評価の状態は、通常のプログラム状態の一部として表示されます。 スタック チェーンは CHAIN_FUNC_EVAL チェーンになります (CorDebugStepReason 列挙体と ICorDebugChain::GetReason メソッドを参照)。 完全なデバッガー API は、通常どおりの動作を続行します。

デッドロック状態または無限ループが発生した場合、ユーザー コードが終了しないことがあります。 この場合は、プログラムを再開する前に ICorDebugEval::Abort を呼び出す必要があります。

メモメモ

このインターフェイスは、コンピューター間またはプロセス間でのリモート呼び出しをサポートしていません。

要件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

参照

ICorDebugEval2 インターフェイス

ICorDebugThread インターフェイス

ICorDebugValue インターフェイス

その他の技術情報

デバッグのインターフェイス