DkmRuntimeInstance.TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance) Methode

Definition

Takestepcontrol wird vom Step Manager aufgerufen, wenn eine nicht steuernde Lauf Zeit Instanz erkennt, dass der Thread einen Übergang in seine Laufzeit festgestellt hat. Der Step Manager führt den-Befehl an die aktuelle steuernde Lauf Zeit Instanz weiter. Die Lauf Zeit Instanz, die die Steuerung anfordert, sollte zuerst stepcontrolangeforderten auf allen Stufen aufzurufen, die Sie steuern möchten. Wenn alle auf true festgelegt wurden, sollte die Lauf Zeit Instanz diese Methode auf jedem Stepper, dessen Kontrolle übernimmt, abrufen.

Location-Einschränkung: die API muss von einer Monitor Komponente (Komponentenebene < 100.000) aufgerufen werden.

public:
 void TakeStepControl(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.Stepping.DkmStepper Stepper, bool LeaveGuardsInPlace, Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason Reason, Microsoft.VisualStudio.Debugger.DkmRuntimeInstance CallingRuntimeInstance);
member this.TakeStepControl : Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * bool * Microsoft.VisualStudio.Debugger.Stepping.DkmStepArbitrationReason * Microsoft.VisualStudio.Debugger.DkmRuntimeInstance -> unit
Public Sub TakeStepControl (Stepper As DkmStepper, LeaveGuardsInPlace As Boolean, Reason As DkmStepArbitrationReason, CallingRuntimeInstance As DkmRuntimeInstance)

Parameter

Stepper
DkmStepper

In Dkmstepper stellt eine Anforderung zum schrittweisen Ausführen eines Threads dar. Es vereinfacht die Lebensdauer von freigegebenen Objekten zwischen den verschiedenen Lauf Zeit debugingmonitoren, die an der Schritt

LeaveGuardsInPlace
Boolean

In Wird vom Aufrufer auf true festgelegt, wenn die aktuelle steuernde Lauf Zeit Instanz Wächter an der Stelle belassen soll, um den Schritt bei Bedarf zu unterbinden. Dies kann beispielsweise verwendet werden, um Wächter Haltepunkte nach einer aufrufsanweisung zu verlassen, damit eine andere Laufzeit Rücksprung ausführen kann, wenn das Ziel des Aufrufes keine Quelle hat. Allerdings sollte jeder Schritt Status, der sich auf den unmittelbaren Schritt auswirkt (z. b. Trap-Flags), von der steuernden Lauf Zeit Instanz entfernt werden.

Reason
DkmStepArbitrationReason

In Dkmsteparamebitrationreason der Grund für den Grund, warum ein eintreten eintritt.

CallingRuntimeInstance
DkmRuntimeInstance

In Die aufrufenden Lauf Zeit Instanz, die die Steuerung des Schritts übernehmen möchte.

Gilt für