コード実行が編集された関数の古いバージョンのシーケンス ポイントに達したことをデバッガーに通知します。
HRESULT FunctionRemapOpportunity (
[in] ICorDebugAppDomain *pAppDomain,
[in] ICorDebugThread *pThread,
[in] ICorDebugFunction *pOldFunction,
[in] ICorDebugFunction *pNewFunction,
[in] ULONG32 oldILOffset
);
パラメーター
pAppDomain
[入力] 編集された関数を含むアプリケーション ドメインを表す ICorDebugAppDomain オブジェクトへのポインター。pThread
[入力] 再マップ ブレークポイントが検出されたスレッドを表す ICorDebugThread オブジェクトへのポインター。pOldFunction
[入力] スレッドで現在実行中の関数のバージョンを表す ICorDebugFunction オブジェクトへのポインター。pNewFunction
[入力] 関数の最新バージョンを表す ICorDebugFunction オブジェクトへのポインター。oldILOffset
[入力] 関数の古いバージョン内の命令ポインターの Microsoft intermediate language (MSIL) のオフセット。
解説
このコールバックは、ICorDebugILFrame2::RemapFunction メソッドを呼び出すことで、デバッガーが指定された関数の新しいバージョンの適切な位置に命令ポインターを再マップできるようにします。 デバッガーが ICorDebugController::Continue メソッドを呼び出す前に RemapFunction を呼び出さない場合、ランタイムは古いコードを引き続き実行し、次のシーケンス ポイントで別の FunctionRemapOpportunity コールバックを発生させます。
このコールバックは、デバッガーが S_OK を返すまで、特定の関数の古いバージョンを実行しているすべてのフレームに対して呼び出されます。
必要条件
プラットフォーム: 「.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