ICorDebugManagedCallback2::FunctionRemapOpportunity 方法

通知调试器代码执行已达到旧版编辑函数中的序列点。

Syntax

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之前,将为执行给定函数的较旧版本的每个帧调用此回调。

要求

平台: 请参阅 .NET 支持的作系统

页眉: CorDebug.idl、CorDebug.h

图书馆: CorGuids.lib

.NET 版本: 自 .NET Framework 2.0 起可用

另请参阅