È 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