Condividi tramite


È possibile usare enumerazioni nel codice di traccia?

È possibile usare le enumerazioni per visualizzare termini significativi nei messaggi di traccia, anziché visualizzare valori integer che gli utenti devono decodificare.

Ad esempio, definire l'enumerazione seguente nel codice:

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

Per usare l'enumerazione nei messaggi di traccia, aggiungere i dati di configurazione seguenti al file di origine. Questo codice indirizza WPP per estrarre le informazioni sul simbolo per l'enumerazione e per usare i nomi definiti durante la visualizzazione del valore registrato dell'enumerazione.

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

È quindi possibile usare il tipo personalizzato dayset nella stringa di formato di un messaggio di traccia. Ad esempio:

 _wday p = wednesday;

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

Infine, poiché sono stati aggiunti dati di configurazione a un file non di configurazione (un file diverso da un file .ini), aggiungere il parametro -scan alla macro RUN_WPP che richiama il preprocessore WPP. In questo modo WPP invia una notifica a WPP per cercare i dati di configurazione nel file specificato. Ad esempio:

RUN_WPP -scan:trace.c