PWINDBG_OUTPUT_ROUTINE Rückruffunktion (wdbgexts.h)

Die Rückruffunktion implementiert die Funktionalität zum Drucken einer formatierten Zeichenfolge im Debuggerbefehlsfenster.

Der wdbgexts.h-Header deklariert ein Makro, dprintf , das die formatierte Zeichenfolge ausgibt. 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 an, wie in printf. 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 aber einen Zeiger im virtuellen Adressraum des Ziels dar. Es verfügt möglicherweise über keine Modifizierer und verwendet die interne Adressformatierung des Debuggers. Die folgenden zusätzlichen Konvertierungszeichen werden unterstützt:

Zeichen Argumenttyp Argument Gedruckter Text
%p ULONG64 Zeiger im virtuellen Adressraum des Ziels Der Wert des Zeigers.
%N DWORD_PTR (32 oder 64 Bits, abhängig von der Architektur des Hosts ) Zeiger im virtuellen Adressraum des Hosts Der Wert des Zeigers. (Dies entspricht dem standardmäßigen C %p-Zeichen .)
%I ULONG64 Beliebiger 64-Bit-Wert Der angegebene Wert. Wenn diese größer als 0xFFFFFFFF wird sie als 64-Bit-Adresse ausgegeben, andernfalls wird sie als 32-Bit-Adresse ausgegeben.
%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, die den Namen des angegebenen Symbols (und ggf. Verschiebung) enthält.
%ly ULONG64 Adresse eines Debuggersymbols im virtuellen Adressraum des Ziels Zeichenfolge, die den Namen des angegebenen Symbols (und ggf. Verschiebung) sowie alle verfügbaren Quellzeileninformationen enthält.

[in] unnamedParam2

[arguments] – 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 Standardauswertungsauswerter (MASM oder C++) ausgewertet wird. Weitere Informationen finden Sie unter Syntax für numerische Ausdrücke.

Rückgabewert

Keine

Bemerkungen

Beim Generieren sehr großer Ausgabezeichenfolgen können die Grenzen der Debugger-Engine oder des Betriebssystems erreicht werden. Beispielsweise weisen einige Versionen der Debugger-Engine eine Zeichenbeschränkung von 16K für ein einzelnes Ausgabestück auf. Wenn Sie feststellen, dass sehr große Ausgaben abgeschnitten werden, müssen Sie die Ausgabe möglicherweise in mehrere Anforderungen aufteilen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile wdbgexts.h (include Wdbgexts.h, Dbgeng.h)