更新 : 2007 年 11 月
コード実行が編集された関数の古いバージョンのシーケンス ポイントに達したことをデバッガに通知します。
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
ライブラリ : CorGuids.lib
.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0