ICorDebugILFrame2::RemapFunction 方法
通过指定新的公共中间语言 (CIL) 偏移量来重新映射编辑的函数
语法
HRESULT RemapFunction (
[in] ULONG32 newILOffset
);
参数
newILOffset
[in]堆栈帧的新 CIL 偏移量,其中应放置指令指针。 此值必须是序列点。
调用方应负责确保此值的有效性。 例如,如果 CIL 偏移量超出函数边界,则其无效。
注解
编辑帧的函数后,调试器可以调用 RemapFunction
方法以在最新版本的帧函数中交换,以便可以执行它。 代码执行将从给定的 CIL 偏移量开始。
注意
与调用 ICorDebugILFrame::SetIP 一样,调用 RemapFunction
将立即使所有与为线程生成堆栈跟踪相关的调试接口失效。 这些接口包括 ICorDebugChain、ICorDebugILFrame、ICorDebugInternalFrame 和 ICorDebugNativeFrame。
RemapFunction
方法只能在当前帧的上下文中调用,并且必须满足下列任一情况:
收到尚未继续的 ICorDebugManagedCallback2::FunctionRemapOpportunity 回叫后。
由于此帧的 ICorDebugManagedCallback::EditAndContinueRemap 事件,代码执行已停止。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 2.0 起可用