PWINDBG_OUTPUT_ROUTINE función de devolución de llamada (wdbgexts.h)
La función de devolución de llamada implementa la funcionalidad para imprimir una cadena con formato en la ventana Comando del depurador.
El encabezado wdbgexts.h declara una macro, dprintf que imprime la cadena con formato. Funciona como el printf de rutina del lenguaje C.
Sintaxis
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Parámetros
[in] lpFormat
Especifica la cadena de formato, como en printf. En general, los caracteres de conversión funcionan exactamente como en C. Para los caracteres de conversión de punto flotante, el argumento de 64 bits se interpreta como un número de punto flotante de 32 bits a menos que se use el modificador l .
Se admite el carácter de conversión %p , pero representa un puntero en el espacio de direcciones virtuales del destino. Es posible que no tenga ningún modificador y use el formato de dirección interna del depurador. Se admiten los siguientes caracteres de conversión adicionales:
Carácter | Tipo de argumento | Argumento | Texto impreso |
---|---|---|---|
%p | ULONG64 | Puntero en el espacio de direcciones virtuales del destino | Valor del puntero. |
%N | DWORD_PTR (32 o 64 bits, según la arquitectura del host ) | Puntero en el espacio de direcciones virtuales del host | Valor del puntero. (Esto equivale al carácter estándar de C %p ). |
%I | ULONG64 | Cualquier valor de 64 bits | Valor especificado. Si es mayor que 0xFFFFFFFF se imprime como una dirección de 64 bits, de lo contrario, se imprime como una dirección de 32 bits. |
%ma | ULONG64 | Dirección de una cadena ASCII terminada en NULL en el espacio de direcciones virtuales del destino | Cadena especificada. |
%mu | ULONG64 | Dirección de una cadena Unicode terminada en NULL en el espacio de direcciones virtuales del destino | Cadena especificada. |
%msa | ULONG64 | Dirección de una estructura de ANSI_STRING en el espacio de direcciones virtuales del destino | Cadena especificada. |
%msu | ULONG64 | Dirección de una estructura de UNICODE_STRING en el espacio de direcciones virtuales del destino | Cadena especificada. |
%y | ULONG64 | Dirección de un símbolo del depurador en el espacio de direcciones virtuales del destino | Cadena que contiene el nombre del símbolo especificado (y desplazamiento, si existe). |
%ly | ULONG64 | Dirección de un símbolo del depurador en el espacio de direcciones virtuales del destino | Cadena que contiene el nombre del símbolo especificado (y desplazamiento, si existe), así como cualquier información de línea de origen disponible. |
[in] unnamedParam2
[argumentos] : especifica argumentos para la cadena de formato, como en printf. El número de argumentos especificados debe coincidir con el número de caracteres de conversión en FormatString. Cada argumento es una expresión que se evaluará mediante el evaluador de expresiones predeterminado (MASM o C++). Para más información, consulte Sintaxis de expresión numérica.
Valor devuelto
None
Observaciones
Al generar cadenas de salida muy grandes, es posible que se alcancen los límites del motor del depurador o del sistema operativo. Por ejemplo, algunas versiones del motor del depurador tienen un límite de 16 000 caracteres para una sola parte de la salida. Si observa que la salida muy grande se está truncando, es posible que tenga que dividir la salida en varias solicitudes.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |