p (Step)

Der Befehl p führt eine einzelne Anweisung oder Quellzeile aus und zeigt optional die resultierenden Werte aller Register und Merker an. Wenn Unterprogrammaufrufe oder Unterbrechungen auftreten, werden sie als ein einziger Schritt behandelt.

Benutzermodus

[~Thread] p[r] [= StartAddress] [Count] ["Command"] 

Kernelmodus

p[r] [= StartAddress] [Count] ["Command"] 

Parameter

Thread
Gibt die Threads an, die weiter ausgeführt werden sollen. Alle anderen Threads sind fixiert. Weitere Informationen über die Syntax finden Sie unter Thread-Syntax. Sie können Threads nur im Benutzermodus angeben.

r
Schaltet die Anzeige von Registern und Flags ein und aus. Standardmäßig werden die Register und Flags angezeigt. Sie können die Registeranzeige mit den Befehlen pr, tr oder .prompt_allow -reg deaktivieren. Alle drei Befehle steuern dieselbe Einstellung, und Sie können jeden dieser Befehle verwenden, um eine vorherige Verwendung dieser Befehle außer Kraft zu setzen.

Sie können die Registeranzeige auch mit dem Befehl l-os deaktivieren. Diese Einstellung ist unabhängig von den anderen drei Befehlen. Um zu steuern, welche Register und Merker angezeigt werden, verwenden Sie den Befehl rm (Register Mask).

StartAdresse
Gibt die Adresse an, an der die Ausführung beginnen soll. Wenn Sie StartAddress nicht verwenden, beginnt die Ausführung mit dem Befehl, auf den der Befehlszeiger zeigt. Weitere Informationen zur Syntax finden Sie unter Adress- und Adressbereichssyntax.

Count
Gibt die Anzahl der Anweisungen oder Quelltextzeilen an, die vor dem Anhalten durchlaufen werden sollen. Jeder Schritt wird als separate Aktion im Befehlsfenster des Debuggers angezeigt. Der Standardwert ist Eins.

Befehl
Gibt einen Debugger-Befehl an, der nach der Ausführung des Schritts ausgeführt werden soll. Dieser Befehl wird ausgeführt, bevor die Standardergebnisse p angezeigt werden. Wenn Sie auch Count verwenden, wird der angegebene Befehl ausgeführt, nachdem alle Schritte abgeschlossen sind (aber bevor die Ergebnisse des letzten Schritts angezeigt werden).

Environment

Artikel Beschreibung
Modi Benutzermodus, Kernelmodus
Targets Nur Livedebugging
Plattformen all

Zusätzliche Informationen

Weitere Informationen über die Eingabe des Befehls p und eine Übersicht über verwandte Befehle finden Sie unter Steuerung des Ziels.

Hinweise

Wenn Sie Count angeben, wird jede Anweisung angezeigt, während sie schrittweise abgearbeitet wird.

Wenn der Debugger beim Stepping auf eine call-Anweisung oder eine Unterbrechung stößt, wird das aufgerufene Unterprogramm vollständig ausgeführt, es sei denn, es wird ein Haltepunkt erreicht. Die Kontrolle wird mit der nächsten Anweisung nach dem Aufruf oder der Unterbrechung an den Debugger zurückgegeben.

Jeder Schritt führt eine einzelne Assembleranweisung oder eine einzelne Quellcodezeile aus, je nachdem, ob sich der Debugger im Assembler- oder im Quellcode-Modus befindet. Verwenden Sie die Befehle l+t und l-t oder die Schaltflächen in der WinDbg-Symbolleiste, um zwischen diesen Modi zu wechseln.

Wenn Sie in WinDbg viele schnelle Schritte durchführen, werden die Debugging-Informationsfenster nach jedem Schritt aktualisiert. Wenn diese Aktualisierung zu einer langsameren Reaktionszeit führt, verwenden Sie .suspend_ui (Suspend WinDbg Interface), um die Aktualisierung dieser Fenster vorübergehend auszusetzen.