Compartilhar via


Exemplo 7: Personalizando o prefixo da mensagem de rastreamento

Cada mensagem de rastreamento começa com um prefixo de mensagem de rastreamento composto por dados sobre a mensagem de rastreamento. O formato do prefixo da mensagem de rastreamento é armazenado na variável de ambiente %TRACE_FORMAT_PREFIX%. Ao alterar o valor da variável de ambiente, você pode personalizar o prefixo da mensagem de rastreamento para exibir os dados necessários sobre a mensagem de rastreamento no formato mais útil para você. As variáveis no prefixo de mensagem de rastreamento padrão e todas as variáveis que você pode usar em um prefixo de mensagem de rastreamento são descritas no tópico Prefixo da Mensagem de Rastreamento.

A exibição a seguir mostra o prefixo de mensagem de rastreamento padrão. As mensagens de rastreamento foram geradas pelo Tracedrv, o driver de exemplo habilitado para rastreamento no WDK (Windows Driver Kit).

[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]IOCTL = 1
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 1 Hi
[0]0AF4.0C64::07/25/2003-14:55:39.998 [tracedrv]Hello, 2 Hi
...

O formato do prefixo padrão é o seguinte.

[%9!d!]%8!04X!.%3!04X!::%4!s! [%1!s!]

que representa os seguintes dados:

[CPUNumber]ProcessID.ThreadID::SystemTime [MessageGUIDFriendlyName]

em que MessageGUIDFriendlyName é, por padrão, o nome do diretório no qual o provedor de rastreamento foi criado.

Para criar um novo prefixo de mensagem de rastreamento, use o comando set para redefinir o valor da variável de ambiente %TRACE_FORMAT_PREFIX%. Por exemplo,

set TRACE_FORMAT_PREFIX=%2!s!: %!FUNC!: %8!04x!.%3!04x!: %4!s!:

Este comando define o seguinte formato do prefixo da mensagem de rastreamento:

SourceFile_LineNumber: FunctionName: ProcessID.ThreadID: SystemTime 

Como resultado, a saída tracefmt usa o novo prefixo de mensagem de rastreamento, conforme mostrado na seguinte exibição:

tracedrv_c258: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  IOCTL = 1
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 1 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 2 Hi
tracedrv_c264: TracedrvDispatchDeviceControl: 0af4.0c64: 07/25/2003-13:55:39.998:  Hello, 3 Hi

...

Nota Se você estiver definindo o prefixo de rastreamento em um arquivo de comando ou lote, em que o símbolo de porcentagem representa uma variável para um parâmetro de linha de comando, use dois símbolos percentuais consecutivos para as variáveis de prefixo. Por exemplo, para incluir a hora do sistema no prefixo, digite %%4.