IDkmRuntimeStepper.TakeStepControl 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当非控制运行时实例检测到线程已进入其运行时中时,步进管理器将调用 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
中需要控制步骤的调用运行时实例。