PWINDBG_OUTPUT_ROUTINE fonction de rappel (wdbgexts.h)
La fonction de rappel implémente la fonctionnalité pour imprimer une chaîne mise en forme dans la fenêtre Commande du débogueur.
L’en-tête wdbgexts.h déclare une macro, dprintf qui imprime la chaîne mise en forme. Il fonctionne comme la routine de langage C printf.
Syntaxe
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Paramètres
[in] lpFormat
Spécifie la chaîne de format, comme dans printf . En général, les caractères de conversion fonctionnent exactement comme en C. Pour les caractères de conversion à virgule flottante, l’argument 64 bits est interprété comme un nombre à virgule flottante 32 bits, sauf si le modificateur l est utilisé.
Le caractère de conversion %p est pris en charge, mais il représente un pointeur dans l’espace d’adressage virtuel de la cible. Il peut ne pas avoir de modificateurs et il utilise la mise en forme d’adresse interne du débogueur. Les caractères de conversion supplémentaires suivants sont pris en charge :
Personnage | Type d’argument | Argument | Texte imprimé |
---|---|---|---|
%p | ULONG64 | Pointeur dans l’espace d’adressage virtuel de la cible | Valeur du pointeur. |
%N | DWORD_PTR (32 ou 64 bits, selon l’architecture de l’hôte) | Pointeur dans l’espace d’adressage virtuel de l’hôte | Valeur du pointeur. (Cela équivaut au caractère de %p C standard.) |
%I | ULONG64 | Toute valeur 64 bits | Valeur spécifiée. S’il est supérieur à 0xFFFFFFFF il est imprimé en tant qu’adresse 64 bits, sinon il est imprimé en tant qu’adresse 32 bits. |
%ma | ULONG64 | Adresse d’une chaîne ASCII terminée par NULL dans l’espace d’adressage virtuel de la cible | Chaîne spécifiée. |
%mu | ULONG64 | Adresse d’une chaîne Unicode terminée par NULL dans l’espace d’adressage virtuel de la cible | Chaîne spécifiée. |
%msa | ULONG64 | Adresse d’une structure ANSI_STRING dans l’espace d’adressage virtuel de la cible | Chaîne spécifiée. |
%msu | ULONG64 | Adresse d’une structure de UNICODE_STRING dans l’espace d’adressage virtuel de la cible | Chaîne spécifiée. |
%y | ULONG64 | Adresse d’un symbole de débogueur dans l’espace d’adressage virtuel de la cible | Chaîne contenant le nom du symbole spécifié (et déplacement, le cas échéant). |
%ly | ULONG64 | Adresse d’un symbole de débogueur dans l’espace d’adressage virtuel de la cible | Chaîne contenant le nom du symbole spécifié (et déplacement, le cas échéant), ainsi que les informations de ligne source disponibles. |
[in] unnamedParam2
[arguments] : spécifie les arguments de la chaîne de format, comme dans printf . Le nombre d’arguments spécifiés doit correspondre au nombre de caractères de conversion dans FormatString. Chaque argument est une expression qui sera évaluée par l’évaluateur d’expression par défaut (MASM ou C++). Pour plus d’informations, consultez syntaxe d’expression numérique.
Valeur de retour
Aucun
Remarques
Lors de la génération de chaînes de sortie très volumineuses, il est possible que les limites du moteur de débogueur ou du système d’exploitation soient atteintes. Par exemple, certaines versions du moteur de débogueur ont une limite de caractères de 16 Ko pour une seule partie de sortie. Si vous constatez que la sortie très volumineuse est tronquée, vous devrez peut-être fractionner votre sortie en plusieurs requêtes.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |