Compartilhar via


Posso usar enumerações no meu código de rastreamento?

Você pode usar enumerações para exibir termos significativos em suas mensagens de rastreamento, em vez de exibir valores inteiros que os usuários devem decodificar.

Por exemplo, defina a seguinte enumeração em seu código:

#define SPECIALDAY  0xF0000000
enum _wday {
  sunday = 0,
  monday = 55,
  tuesday = 3,
  wednesday = 1 | SPECIALDAY  ,
  thursday =  7 | SPECIALDAY,
  friday =  5,
  saturday = 6
};

Para usar a enumeração em suas mensagens de rastreamento, adicione os seguintes dados de configuração ao arquivo de origem. Esse código direciona o WPP para extrair as informações de símbolo para a enumeração e usar os nomes que você definiu ao exibir o valor registrado na enumeração.

// begin_wpp config 
// CUSTOM_TYPE(dayset, ItemEnum(_wday) );
// end_wpp

Em seguida, você pode usar o tipo personalizado dayset na cadeia de caracteres de formato de uma mensagem de rastreamento. Por exemplo:

 _wday p = wednesday;

 DoTraceMessage(NOISE " %!dayset!", p);

Por fim, como você adicionou dados de configuração a um arquivo não configurado (um arquivo diferente de um arquivo .ini), adicione o parâmetro -scan à macro RUN_WPP que invoca o pré-processador WPP. Isso notifica o WPP para procurar dados de configuração no arquivo especificado. Por exemplo:

RUN_WPP -scan:trace.c