.printf
Das PRINTF-Token verhält sich wie die printf-Anweisung in C.
.printf [/D] [Option] "FormatString" [, Argument , ...]
Syntax-Elemente
/D
Gibt an, dass die Formatzeichenfolge Debugger Markup Language (DML) enthält.
Option
(Nur WinDbg) Gibt den Typ der Textnachricht an, die WinDbg als FormatString interpretieren soll. WinDbg weist jedem Typ von Debuggerbefehlsfenster eine Hintergrund- und Textfarbe zu; Wenn Sie eine dieser Optionen auswählen, wird die Meldung in den entsprechenden Farben angezeigt. Standardmäßig wird der Text als Meldung auf normaler Ebene angezeigt.
Die folgenden Optionen sind verfügbar.
Option | Typ der Nachricht | Titel der Farben im Dialogfeld "Optionen" |
---|---|---|
/od |
debuggee |
Befehlsfenster auf Debuggeeebene |
/Od |
Debuggee-Eingabeaufforderung |
Eingabeaufforderungsfenster auf Debuggee-Eingabeaufforderungsebene |
/Œ |
error |
Befehlsfenster auf Fehlerebene |
/on |
normal |
Befehlsfenster der normalen Ebene |
/op |
prompt |
Befehlsfenster der Eingabeaufforderungsebene |
/Op |
Eingabeaufforderungsregister |
Eingabeaufforderung registriert Befehlsfenster auf Ebene |
/os |
symbols |
Befehlsfenster auf Symbolnachrichtenebene |
/Ov |
Ausführlich |
Ausführliches Befehlsfenster auf Ebene |
/Ow |
Warnung laden |
Befehlsfenster auf Warnungsebene |
FormatString
Gibt die Formatzeichenfolge wie in printf an. Im Allgemeinen funktionieren Konvertierungszeichen genau wie in C. Für die Gleitkommakonvertierungszeichen wird das 64-Bit-Argument als 32-Bit-Gleitkommazahl interpretiert, es sei denn, der L-Modifizierer wird verwendet.
Der Modifizierer "I64" kann hinzugefügt werden, um anzugeben, dass ein Wert als 64-Bit interpretiert werden soll. Beispielsweise kann "%I64x" verwendet werden, um eine 64-Bit-Hexadezimalzahl zu drucken.
Das Konvertierungszeichen %p wird unterstützt, stellt jedoch einen Zeiger im virtuellen Adressbereich des Ziels dar. Er darf keine Modifizierer haben und die interne Adressformatierung des Debuggers verwendet. Zusätzlich zu den standardmäßigen Printf-Formatformatbezeichnern werden die folgenden zusätzlichen Konvertierungszeichen unterstützt.
Zeichen | Argumenttyp | Argument | Gedruckter Text |
---|---|---|---|
%p |
ULONG64 |
Ein Zeiger im virtuellen Adressbereich des Ziels. |
Der Wert des Zeigers. |
%N |
DWORD_PTR (32 oder 64 Bit, abhängig von der Architektur des Hosts) |
Ein Zeiger im virtuellen Adressbereich des Hosts. |
Der Wert des Zeigers. (Dies entspricht dem standardmäßigen C %p-Zeichen.) |
%ma |
ULONG64 |
Die Adresse einer MIT NULL beendeten ASCII-Zeichenfolge im virtuellen Adressraum des Ziels. |
Die angegebene Zeichenfolge. |
%mu |
ULONG64 |
Die Adresse einer MIT NULL beendeten Unicode-Zeichenfolge im virtuellen Adressraum des Ziels. |
Die angegebene Zeichenfolge. |
%msa |
ULONG64 |
Die Adresse einer ANSI_STRING Struktur im virtuellen Adressraum des Ziels. |
Die angegebene Zeichenfolge. |
%msu |
ULONG64 |
Die Adresse einer UNICODE_STRING Struktur im virtuellen Adressraum des Ziels. |
Die angegebene Zeichenfolge. |
%y |
ULONG64 |
Die Adresse eines Debuggersymbols im virtuellen Adressraum des Ziels. |
Eine Zeichenfolge mit dem Namen des angegebenen Symbols (und Verschiebung, falls vorhanden). |
%ly |
ULONG64 |
Die Adresse eines Debuggersymbols im virtuellen Adressraum des Ziels. |
Eine Zeichenfolge, die den Namen des angegebenen Symbols (und Verschiebung, falls vorhanden) sowie alle verfügbaren Quellzeileninformationen enthält. |
Argumente
Gibt Argumente für die Formatzeichenfolge an, wie in printf. Die Anzahl der angegebenen Argumente sollte mit der Anzahl der Konvertierungszeichen in FormatString übereinstimmen. Jedes Argument ist ein Ausdruck, der vom Standardausdruck-Evaluator (MASM oder C++) ausgewertet wird. Einzelheiten finden Sie unter Syntax für numerische Ausdrücke.
Zusätzliche Informationen
Informationen über andere Kontrollfluss-Token und ihre Verwendung in Debugger-Befehlsprogrammen finden Sie unter Verwendung von Debugger-Befehlsprogrammen.
Hinweise
Die Farbeinstellungen, die Sie mit dem Parameter "Options " auswählen können, sind standardmäßig alle auf schwarzen Text auf weißem Hintergrund festgelegt. Um diese Optionen optimal nutzen zu können, müssen Sie zuerst "Ansicht" | verwenden . Optionen zum Öffnen des Dialogfelds "Optionen " und Ändern der Farbeinstellungen für Debuggerbefehlsfenstermeldungen.
Das folgende Beispiel zeigt, wie Sie ein DML-Tag in die Formatzeichenfolge einschließen.
.printf /D "Click <link cmd=\".chain /D\">here</link> to see extensions DLLs."
Die in der vorherigen Abbildung gezeigte Ausgabe weist einen Link auf, auf den Sie klicken können, um den im <link>
Tag angegebenen Befehl auszuführen. Die folgende Abbildung zeigt das Ergebnis des Klickens auf den Link.
Informationen zu DML-Tags finden Sie unter dml.doc im Installationsordner für Debugtools für Windows.