PWINDBG_OUTPUT_ROUTINE função de retorno de chamada (wdbgexts.h)
A função de retorno de chamada implementa a funcionalidade para imprimir uma cadeia de caracteres formatada na janela Comando do Depurador.
O cabeçalho wdbgexts.h declara uma macro, dprintf que imprime a cadeia de caracteres formatada. Ele funciona como o printf de rotina da linguagem C.
Sintaxe
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
Parâmetros
[in] lpFormat
Especifica a cadeia de caracteres de formato, como em printf. Em geral, os caracteres de conversão funcionam exatamente como em C. Para os caracteres de conversão de ponto flutuante, o argumento de 64 bits é interpretado como um número de ponto flutuante de 32 bits, a menos que o modificador l seja usado.
Há suporte para o caractere de conversão %p , mas representa um ponteiro no espaço de endereço virtual do destino. Ele pode não ter modificadores e usa a formatação de endereço interno do depurador. Há suporte para os seguintes caracteres de conversão adicionais:
Caractere | Tipo de argumento | Argumento | Texto impresso |
---|---|---|---|
%p | ULONG64 | Ponteiro no espaço de endereço virtual do destino | O valor do ponteiro. |
%N | DWORD_PTR (32 ou 64 bits, dependendo da arquitetura do host ) | Ponteiro no espaço de endereço virtual do host | O valor do ponteiro. (Isso é equivalente ao caractere C %p padrão.) |
%I | ULONG64 | Qualquer valor de 64 bits | O valor especificado. Se for maior que 0xFFFFFFFF ele for impresso como um endereço de 64 bits, caso contrário, será impresso como um endereço de 32 bits. |
%ma | ULONG64 | Endereço de uma cadeia de caracteres ASCII terminada em NULL no espaço de endereço virtual do destino | A cadeia de caracteres especificada. |
%mu | ULONG64 | Endereço de uma cadeia de caracteres Unicode terminada em NULL no espaço de endereço virtual do destino | A cadeia de caracteres especificada. |
%msa | ULONG64 | Endereço de uma estrutura de ANSI_STRING no espaço de endereço virtual do destino | A cadeia de caracteres especificada. |
%msu | ULONG64 | Endereço de uma estrutura de UNICODE_STRING no espaço de endereço virtual do destino | A cadeia de caracteres especificada. |
%y | ULONG64 | Endereço de um símbolo de depurador no espaço de endereço virtual do destino | Cadeia de caracteres que contém o nome do símbolo especificado (e deslocamento, se houver). |
%ly | ULONG64 | Endereço de um símbolo de depurador no espaço de endereço virtual do destino | Cadeia de caracteres que contém o nome do símbolo especificado (e deslocamento, se houver), bem como qualquer informação de linha de origem disponível. |
[in] unnamedParam2
[argumentos] – especifica argumentos para a cadeia de caracteres de formato, como em printf. O número de argumentos especificados deve corresponder ao número de caracteres de conversão em FormatString. Cada argumento é uma expressão que será avaliada pelo avaliador de expressão padrão (MASM ou C++). Para obter detalhes, consulte Sintaxe de expressão numérica.
Retornar valor
Nenhum
Comentários
Ao gerar cadeias de caracteres de saída muito grandes, é possível que os limites do mecanismo do depurador ou do sistema operacional possam ser atingidos. Por exemplo, algumas versões do mecanismo de depurador têm um limite de 16K de caracteres para uma única parte da saída. Se você achar que a saída muito grande está sendo truncada, talvez seja necessário dividir a saída em várias solicitações.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | wdbgexts.h (inclua Wdbgexts.h, Dbgeng.h) |