PWINDBG_OUTPUT_ROUTINE funzione di callback (wdbgexts.h)
La funzione di callback implementa la funzionalità per stampare una stringa formattata nella finestra Di comando del debugger.
L'intestazione wdbgexts.h dichiara una macro, dprintf che stampa la stringa formattata. Funziona come il printf di routine del linguaggio C.
Sintassi
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Parametri
[in] lpFormat
Specifica la stringa di formato, come in printf. In generale, i caratteri di conversione funzionano esattamente come in C. Per i caratteri di conversione a virgola mobile, l'argomento a 64 bit viene interpretato come numero a virgola mobile a 32 bit, a meno che non venga usato il modificatore l .
Il carattere di conversione %p è supportato, ma rappresenta un puntatore nello spazio indirizzi virtuale della destinazione. Potrebbe non avere modificatori e usa la formattazione degli indirizzi interni del debugger. Sono supportati i seguenti caratteri di conversione aggiuntivi:
Carattere | Tipo di argomento | Argomento | Testo stampato |
---|---|---|---|
%p | ULONG64 | Puntatore nello spazio indirizzi virtuale della destinazione | Valore del puntatore. |
%N | DWORD_PTR (32 o 64 bit, a seconda dell'architettura dell'host ) | Puntatore nello spazio indirizzi virtuale dell'host | Valore del puntatore. Equivale al carattere C %p standard. |
%I | ULONG64 | Qualsiasi valore a 64 bit | Valore specificato. Se è maggiore di 0xFFFFFFFF viene stampato come indirizzo a 64 bit, in caso contrario viene stampato come indirizzo a 32 bit. |
%ma | ULONG64 | Indirizzo di una stringa ASCII con terminazione NULL nello spazio indirizzi virtuali della destinazione | Stringa specificata |
%mu | ULONG64 | Indirizzo di una stringa Unicode con terminazione NULL nello spazio indirizzi virtuali della destinazione | Stringa specificata |
%msa | ULONG64 | Indirizzo di una struttura di ANSI_STRING nello spazio indirizzi virtuale della destinazione | Stringa specificata |
%msu | ULONG64 | Indirizzo di una struttura UNICODE_STRING nello spazio indirizzi virtuale della destinazione | Stringa specificata |
%y | ULONG64 | Indirizzo di un simbolo del debugger nello spazio indirizzi virtuale della destinazione | Stringa contenente il nome del simbolo specificato (e lo spostamento, se presente). |
%ly | ULONG64 | Indirizzo di un simbolo del debugger nello spazio indirizzi virtuale della destinazione | Stringa contenente il nome del simbolo specificato (e lo spostamento, se presente), nonché eventuali informazioni sulla riga di origine disponibili. |
[in] unnamedParam2
[arguments] - Specifica gli argomenti per la stringa di formato, come in printf. Il numero di argomenti specificati deve corrispondere al numero di caratteri di conversione in FormatString. Ogni argomento è un'espressione che verrà valutata dall'analizzatore di espressioni predefinito (MASM o C++). Per informazioni dettagliate, vedere Sintassi delle espressioni numeriche.
Valore restituito
nessuno
Osservazioni
Quando si generano stringhe di output di grandi dimensioni, è possibile che vengano raggiunti i limiti del motore del debugger o del sistema operativo. Ad esempio, alcune versioni del motore del debugger hanno un limite di 16.000 caratteri per una singola parte di output. Se si rileva che l'output di grandi dimensioni viene troncato, potrebbe essere necessario suddividere l'output in più richieste.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |