ICorDebugStepper 接口
表示在代码执行过程中由调试器执行的一个步骤。此步骤作为命令颁发和完成之间的标识符使用,可以实现取消对某个步骤的执行。
方法
方法 | 说明 |
---|---|
Deactivate 方法 | 导致此 ICorDebugStepper 取消它收到的最后一个步骤命令。 |
IsActive 方法 | 获取一个值,该值指示此 ICorDebugStepper 当前是否正在执行某个步骤。 |
SetInterceptMask 方法 | 设置一个 CorDebugIntercept 值,该值指定要单步执行的代码类型。 |
SetRangeIL 方法 | 设置一个值,该值指示调用 ICorDebugStepper::StepRange 是否传递相对于本机代码的参数值或要逐步执行的方法的公共中间语言 (CIL) 代码。 |
SetUnmappedStopMask 方法 | 设置一个 CorDebugUnmappedStop 值,该值指定执行将停止的未映射代码的类型。 |
Step 方法 | 导致此 ICorDebugStepper 单步执行其包含线程,并可以选择继续单步执行线程中调用的函数。 |
StepOut 方法 | 导致此 ICorDebugStepper 单步执行其包含线程,并在当前帧将控制权返回给调用帧时完成。 |
StepRange 方法 | 导致此 ICorDebugStepper 单步执行其包含线程,并在其到达指定范围的最后一个范围之外的代码时返回。 |
备注
ICorDebugStepper
接口具有以下用途:
它充当所发出步骤命令与该命令完成之间的标识符。
它提供了一个中心接口,用于封装可执行的所有单步执行。
它提供了一种提前取消单步执行操作的方法。
每个线程可以有多个步进器。 例如,单步执行函数时可能会命中断点,用户可能希望启动该函数内的新单步执行操作。 由调试器决定如何处理这种情况。 调试器可能想要取消原始单步执行操作或嵌套这两个操作。 ICorDebugStepper
接口支持这两种选择。
如果公共语言运行时 (CLR) 进行跨线程封送调用,则步进器可能会在线程之间迁移。
备注
此接口不支持跨计算机或跨进程远程调用。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 1.0 起可用