PWINDBG_OUTPUT_ROUTINE Rückruffunktion (wdbgexts.h)
Die Rückruffunktion implementiert die Funktionalität zum Drucken einer formatierten Zeichenfolge in das Debuggerbefehlsfenster.
Der wdbgexts.h-Header deklariert ein Makro, dprintf, mit dem die formatierte Zeichenfolge gedruckt wird. Es funktioniert wie die C-Sprachroutine printf.
Syntax
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Parameter
[in] lpFormat
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.
Das %p Konvertierungszeichen wird unterstützt, stellt jedoch einen Zeiger im virtuellen Adressbereich des Ziels dar. Möglicherweise sind keine Modifizierer vorhanden und werden die interne Adressformatierung des Debuggers verwendet. Die folgenden zusätzlichen Konvertierungszeichen werden unterstützt:
Zeichen | Argumenttyp | Argument | Gedruckter Text |
---|---|---|---|
%p | ULONG64 | Zeiger im virtuellen Adressbereich des Ziels | Der Wert des Zeigers. |
%N | DWORD_PTR (32 oder 64 Bit, abhängig von der Architektur des Hosts) | Zeiger im virtuellen Adressraum des Hosts | Der Wert des Zeigers. (Dies entspricht dem Standardzeichen C %p.) |
%I | ULONG64 | Beliebiger 64-Bit-Wert | Der angegebene Wert. Wenn dies größer als 0xFFFFFFFF wird sie als 64-Bit-Adresse gedruckt, andernfalls wird sie als 32-Bit-Adresse gedruckt. |
%ma | ULONG64 | Adresse einer MIT NULL beendeten ASCII-Zeichenfolge im virtuellen Adressraum des Ziels | Die angegebene Zeichenfolge. |
%mu | ULONG64 | Adresse einer MIT NULL beendeten Unicode-Zeichenfolge im virtuellen Adressraum des Ziels | Die angegebene Zeichenfolge. |
%msa | ULONG64 | Adresse einer ANSI_STRING Struktur im virtuellen Adressraum des Ziels | Die angegebene Zeichenfolge. |
%msu | ULONG64 | Adresse einer UNICODE_STRING Struktur im virtuellen Adressraum des Ziels | Die angegebene Zeichenfolge. |
%y | ULONG64 | Adresse eines Debuggersymbols im virtuellen Adressraum des Ziels | Zeichenfolge mit dem Namen des angegebenen Symbols (und Verschiebung, falls vorhanden). |
%ly | ULONG64 | Adresse eines Debuggersymbols im virtuellen Adressraum des Ziels | Zeichenfolge, die den Namen des angegebenen Symbols (und Verschiebung, falls vorhanden) sowie alle verfügbaren Quellzeileninformationen enthält. |
[in] unnamedParam2
[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. Ausführliche Informationen finden Sie unter Numerische Ausdruckssyntax.
Rückgabewert
Nichts
Bemerkungen
Beim Generieren sehr großer Ausgabezeichenfolgen ist es möglich, dass die Grenzwerte des Debuggermoduls oder des Betriebssystems erreicht werden können. Beispielsweise verfügen einige Versionen des Debuggermoduls über eine Beschränkung von 16 KB Zeichen für ein einzelnes Ausgabestück. Wenn Sie feststellen, dass eine sehr große Ausgabe abgeschnitten wird, müssen Sie ihre Ausgabe möglicherweise in mehrere Anforderungen aufteilen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |