Partager via


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)