ICorDebugManagedCallback2::FunctionRemapOpportunity メソッド

コードの実行が編集された関数の古いバージョンのシーケンス ポイントに達したことを、デバッガーに通知します。

構文

HRESULT FunctionRemapOpportunity (
    [in] ICorDebugAppDomain   *pAppDomain,
    [in] ICorDebugThread      *pThread,
    [in] ICorDebugFunction    *pOldFunction,
    [in] ICorDebugFunction    *pNewFunction,
    [in] ULONG32              oldILOffset
);

パラメーター

pAppDomain[in]編集された関数を含むアプリケーション doメイン を表す ICorDebugAppDoメイン オブジェクトへのポインター。

pThread [in]再マップ ブレークポイントが検出されたスレッドを表す ICorDebugThread オブジェクトへのポインター。

pOldFunction [in]スレッドで現在実行されている関数のバージョンを表す ICorDebugFunction オブジェクトへのポインター。

pNewFunction [in]関数の最新バージョンを表す ICorDebugFunction オブジェクトへのポインター。

oldILOffset [in]以前のバージョンの関数の命令ポインターの共通中間言語 (CIL) オフセット。

解説

このコールバックからは、ICorDebugILFrame2::RemapFunction メソッドを呼び出すことで、指定の関数の新しいバージョンで、命令ポインターをその適切な場所に再マッピングする機会がデバッガーに与えられます。 ICorDebugController::Continue メソッドを呼び出す前にデバッガーで RemapFunction が呼び出されない場合、ランタイムは引き続き古いコードを実行し、次のシーケンス ポイントで別の FunctionRemapOpportunity コールバックを始動させます。

このコールバックは、デバッガーから S_OK が返されるまで、指定の関数の古いバージョンがフレームによって実行されるたびに呼び出されます。

必要条件

:システム要件」を参照してください。

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

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目