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.