次の方法で共有


ICorDebugManagedCallback2::FunctionRemapOpportunity メソッド

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

構文

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

パラメーター

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

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

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

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

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

注釈

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

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

Requirements

プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。

ヘッダ: CorDebug.idl、CorDebug.h

図書館: CorGuids.lib

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

こちらも参照ください