ICorDebugEval インターフェイス
デバッガーが、デバッグ中のコードのコンテキスト内でコードを実行できるメソッドを提供します。
メソッド
メソッド | 説明 |
---|---|
Abort メソッド | この ICorDebugEval オブジェクトが現在実行している計算を中止します。 |
CallFunction メソッド | 指定された関数の呼び出しを設定します。 (.NET Framework バージョン 2.0 で廃止されました。代わりに ICorDebugEval2::CallParameterizedFunction を使用してください。) |
CreateValue メソッド | 初期値が 0 または null の、指定された型の "ICorDebugValue" オブジェクトへのインターフェイス ポインターを取得します。 (.NET Framework 2.0 で廃止されました。代わりに ICorDebugEval2::CreateValueForType を使用してください。) |
GetResult メソッド | 評価の結果が格納されている ICorDebugValue へのインターフェイス ポインターを取得します。 |
GetThread メソッド | この評価が実行されているか実行される予定の "ICorDebugThread" へのインターフェイス ポインターを取得します。 |
IsActive メソッド | この ICorDebugEval オブジェクトが現在実行中かどうかを示す値を取得します。 |
NewArray メソッド | 指定した要素の型と次元の新しい配列を割り当てます。 (.NET Framework 2.0 で廃止されました。代わりに ICorDebugEval2::NewParameterizedArray を使用してください。) |
NewObject メソッド | 新しいオブジェクト インスタンスを割り当て、指定のコンストラクター メソッドを呼び出します。 (.NET Framework 2.0 で廃止されました。代わりに ICorDebugEval2::NewParameterizedObject を使用してください。) |
NewObjectNoConstructor メソッド | コンストラクター メソッドを呼び出そうとせずに、指定した型の新しいオブジェクトインスタンスを割り当てます。 (.NET Framework 2.0 で廃止されました。代わりに ICorDebugEval2::NewParameterizedObjectNoConstructor を使用してください。) |
NewString メソッド | 指定された内容の新しい文字列オブジェクトを割り当てます。 |
解説
ICorDebugEval
オブジェクトは、評価を実行するために使用される特定のスレッドのコンテキストで作成されます。 特定の評価で使用されるすべてのオブジェクトと型は、同じアプリケーション ドメイン内に存在する必要があります。 そのアプリケーション ドメインは、スレッドの現在のアプリケーション ドメインと同じである必要はありません。 評価は入れ子にできます。
評価の操作は、デバッガーが ICorDebugController::Continue を呼び出してから ICorDebugManagedCallback::EvalComplete コールバックを受け取るまでは完了しません。 他のスレッドの実行を許可せずに評価機能を使用する必要がある場合は、ICorDebugController::Continue を呼び出す前に ICorDebugController::SetAllThreadsDebugState または ICorDebugController::Stop を使用してスレッドを中断します。
評価の進行中にユーザー コードが実行されているため、クラスの読み込みやブレークポイントなどのデバッグ イベントが発生する可能性があります。 デバッガーは、これらのイベントに対して通常どおりコールバックを受け取ります。 評価の状態は、通常のプログラムの状態の検査の一環として表示されます。 スタック チェーンは CHAIN_FUNC_EVAL
チェーンになります ("CorDebugStepReason" 列挙型および ICorDebugChain::GetReason メソッドを参照してください)。 完全なデバッガー API は、引き続き通常どおりに動作します。
デッドロックまたは無限ループの状態が発生した場合、ユーザー コードが完全には完了しない可能性があります。 このような場合は、プログラムを再開する前に ICorDebugEval::Abort を呼び出す必要があります。
Note
このインターフェイスは、コンピューター間またはプロセス間でのリモート呼び出しをサポートしていません。
必要条件
:「システム要件」を参照してください。
ヘッダー: CorDebug.idl、CorDebug.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 1.0 以降で使用可能
関連項目
.NET