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 l’impression de routine en langage C.
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 dans 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 se peut qu’il n’ait pas de modificateurs et qu’il utilise la mise en forme d’adresse interne du débogueur. Les caractères de conversion supplémentaires suivants sont pris en charge :
Caractère | 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 C %p standard.) |
%I | ULONG64 | Toute valeur 64 bits | Valeur spécifiée. Si cette valeur est supérieure à 0xFFFFFFFF elle est imprimée sous la forme d’une adresse 64 bits, sinon, elle est imprimée 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 de ANSI_STRING dans l’espace d’adressage virtuel de la cible | Chaîne spécifiée. |
%msu | ULONG64 | Adresse d’une structure 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 le 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 le 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 des expressions numériques.
Valeur de retour
None
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 du débogueur ont une limite de 16 000 caractères pour une seule sortie. Si vous constatez que la sortie très volumineuse est tronquée, vous devrez peut-être fractionner votre sortie en plusieurs requêtes.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | wdbgexts.h (inclure Wdbgexts.h, Dbgeng.h) |