次の方法で共有


ICorDebugManagedCallback2::FunctionRemapOpportunity メソッド

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

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

参照

参照

ICorDebugManagedCallback2 インターフェイス

ICorDebugManagedCallback インターフェイス