Ablauftoken steuern
Mithilfe von Steuerungsflusstoken können Sie bedingte Ausführungs- und Ausführungsschleifen in Debuggerbefehlsprogrammen erstellen.
Ablaufsteuerungstoken verhalten sich wie ihre Gegenstücke in C und C++ mit den folgenden allgemeinen Ausnahmen:
Sie müssen jeden Befehlsblock einschließen, der bedingt oder wiederholt in geschweiften Klammern ausgeführt wird, auch wenn nur ein solcher Befehl vorhanden ist. Sie können z. B. die geschweiften Klammern im folgenden Befehl nicht weglassen.
0:000> .if (ebx>0) { r ebx }
Jede Bedingung muss ein Ausdruck sein. Befehle sind nicht zulässig. Im folgenden Beispiel wird beispielsweise ein Syntaxfehler erzeugt.
0:000> .while (r ebx) { .... }
Der letzte Befehl vor einer schließenden geschweiften Klammer muss nicht durch ein Semikolon gefolgt werden.
Die folgenden Steuerungsflusstoken werden in einem Debugger-Befehlsprogramm unterstützt. Weitere Informationen zur Syntax der einzelnen Token finden Sie in den einzelnen Referenzthemen.
Das IF-Token verhält sich wie bei Schlüsselwort (keyword) in C.
Das .else-Token verhält sich wie die andere Schlüsselwort (keyword) in C.
Das ELSIF-Token verhält sich wie das andere, wenn Schlüsselwort (keyword) Kombination in C.
Das FOREACH-Token analysiert die Ausgabe von Debuggerbefehlen, einer Zeichenfolge oder einer Textdatei. Dieses Token verwendet dann jedes gefundene Element und verwendet es als Eingabe für eine angegebene Liste von Debuggerbefehlen.
Das TOKEN verhält sich wie für Schlüsselwort (keyword) in C, mit der Ausnahme, dass Sie mehrere Inkrementbefehle durch Semikolons und nicht durch Kommas trennen müssen.
Das .while-Token verhält sich wie das while-Schlüsselwort in C.
Das DO-Token verhält sich wie die do-Schlüsselwort (keyword) in C, mit der Ausnahme, dass Sie das Wort "while" vor der Bedingung nicht verwenden können.
Das BREAK-Token verhält sich wie der Break Schlüsselwort (keyword) in C. Sie können dieses Token in jeder .for-, .while- oder .do-Schleife verwenden.
Das ".continue"-Token verhält sich wie der Fortsetzungs-Schlüsselwort (keyword) in C. Sie können dieses Token in jeder .for-, .while- oder .do-Schleife verwenden.
Das CATCH-Token verhindert, dass ein Programm beendet wird, wenn ein Fehler auftritt. Auf das CATCH-Token folgen geschweifte Klammern, die einen oder mehrere Befehle einschließen. Wenn eines dieser Befehle einen Fehler generiert, wird die Fehlermeldung angezeigt, alle erneuten Standard Befehle in den geschweiften Klammern werden ignoriert, und die Ausführung wird mit dem ersten Befehl nach der schließenden Klammer fortgesetzt.
Das LEAVE-Token wird verwendet, um einen CATCH-Block zu beenden.
Das PRINTF-Token verhält sich wie die printf-Anweisung in C.
Das BLOCK-Token führt keine Aktion aus. Sie sollten dieses Token nur verwenden, um einen Block einzuführen, da Sie keinen Block nur mithilfe eines Klammerpaars erstellen können. Sie müssen vor der öffnenden Klammer ein Steuerelementflusstoken hinzufügen.
Die Erweiterungen !for_each_module, !for_each_frame und !for_each_local sind auch bei einem Debuggerbefehlsprogramm hilfreich.