IDkmRuntimeStepper.TakeStepControl 方法

定义

当非控制运行时实例检测到线程已进入其运行时中时,步进管理器将调用 TakeStepControl。 步进管理器将调用当前控制运行时实例。 请求控件的运行时实例应该首先对其要控制的所有 steppers 调用 StepControlRequested。 如果将所有设置都授予 true,则运行时实例应在控制的每个分档器上调用此方法。

public:
 void TakeStepControl(Microsoft::VisualStudio::Debugger::DkmRuntimeInstance ^ runtimeInstance, Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ stepper, bool leaveGuardsInPlace, Microsoft::VisualStudio::Debugger::Stepping::DkmStepArbitrationReason reason, Microsoft::VisualStudio::Debugger::DkmRuntimeInstance ^ callingRuntimeInstance);
public void TakeStepControl (Microsoft.VisualStudio.Debugger.DkmRuntimeInstance runtimeInstance, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper stepper, bool leaveGuardsInPlace, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance callingRuntimeInstance);
abstract member TakeStepControl : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance * Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * bool * Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance -> unit
Public Sub TakeStepControl (runtimeInstance As DkmRuntimeInstance, stepper As DkmStepper, leaveGuardsInPlace As Boolean, reason As DkmStepArbitrationReason, callingRuntimeInstance As DkmRuntimeInstance)

参数

runtimeInstance
DkmRuntimeInstance

中DkmRuntimeInstance 类表示加载到 DkmProcess 中的执行环境,其中包含要调试的代码。

stepper
DkmStepper

中DkmStepper 表示用于单步执行线程的请求。 它简化了参与单步执行的各种运行时调试监视器之间的共享对象生存期。

leaveGuardsInPlace
Boolean

中如果调用方想要使用当前控制运行时实例来保留保护,则调用方将设置为 true,以便在必要时停止此步骤。 例如,这可用于在调用指令后保留防护断点,因此,如果调用的目标没有源,则其他运行时可以单步执行。 但是,影响直属步骤的任何步进状态(如陷阱标志)都应由控制运行时实例删除。

reason
DkmStepArbitrationReason

中DkmStepArbitrationReason 发生步骤仲裁的原因。

callingRuntimeInstance
DkmRuntimeInstance

中需要控制步骤的调用运行时实例。

适用于