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)