Como incluir o número da linha de origem no prefixo da mensagem de rastreamento
O WPP registra automaticamente dados sobre cada mensagem de rastreamento, muitas das quais não são exibidas por padrão. Esses dados incluem o nome da função, o nome do arquivo, o número da linha de origem, o nome do componente, o nome do subcomponente e o nível de rastreamento da mensagem de rastreamento.
Para exibir essas informações no prefixo de mensagem de rastreamento que precede cada mensagem de rastreamento, adicione as variáveis de prefixo predefinidas à variável de ambiente %TRACE_FORMAT_PREFIX%. O Tracefmt e outros consumidores de rastreamento usam %TRACE_FORMAT_PREFIX% ao formatar mensagens de rastreamento.
Por exemplo, para adicionar o nome do componente, o nome da função, o nome do arquivo e o número de linha ao prefixo da mensagem de rastreamento, adicione as seguintes variáveis ao valor de %TRACE_FORMAT_PREFIX%:
Variável | Descrição |
---|---|
%! COMPNAME! | Adiciona o nome do componente. |
%! FUNC! | Adiciona o nome da função. |
%2 | Adiciona o nome do arquivo de origem e o número de linha da instrução de rastreamento. |
A variável %2 retorna a seguinte cadeia de caracteres:
filename_NNN
em que o ponto (.) no nome do arquivo é substituído por um sublinhado (_) e NNN é o número de linha.
A instrução SET de exemplo a seguir adiciona o %! COMPNAME, %! FUNC! e %2 variáveis para o valor padrão de %TRACE_FORMAT_PREFIX%. O subparâmetro !s! especifica que o valor de %2 está formatado como uma cadeia de caracteres. As variáveis adicionadas são mostradas em negrito.
set TRACE\_FORMAT\_PREFIX="\[%9!d!\]%8!04X!.%3!04X!::%4!s! \[%1!s!\](**%!COMPNAME!**:**%!FUNC!**:**%2**!s!)"
O prefixo resultante tem o seguinte formato. Os novos elementos são mostrados entre parênteses.
[CPUNumber] ProcessID. ThreadID::SystemTime [MessageGUIDFriendlyName](ComponentName:FunctionName:Filename_LineNumber)
Para obter um exemplo detalhado, consulte Exemplo 7: personalizando o prefixo de mensagem de rastreamento. Para obter uma lista de todas as variáveis predefinidas que podem aparecer no prefixo da mensagem de rastreamento, consulte Prefixo de mensagem de rastreamento.