Sdílet prostřednictvím


Můžu v kódu trasování použít výčty?

Výčty můžete použít k zobrazení smysluplných termínů v trasovacích zprávách místo zobrazení celočíselných hodnot, které musí uživatelé dekódovat.

Například v kódu definujte následující výčet:

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

Pokud chcete ve svých trasovacích zprávách použít výčet, přidejte do zdrojového souboru následující konfigurační data. Tento kód směruje WPP k extrahování informací o symbolech pro výčet a použití názvů, které jste definovali při zobrazení zaprotokolované hodnoty výčtu.

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

Potom můžete použít vlastní typ dayset ve formátovacím řetězci zprávy trasování. Například:

 _wday p = wednesday;

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

Nakonec, protože jste přidali konfigurační data do souboru, který není konfigurační (.ini soubor), přidejte parametr -scan do makra RUN_WPP, které spustí preprocesor WPP. To upozorní WPP, aby hledal konfigurační data v zadaném souboru. Například:

RUN_WPP -scan:trace.c