Freigeben über


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)