How can I see expanded macros?

for strings something like this works

#define STRSWITCH(STR)      { char _x[16]; strcpy(_x, STR); if (false) {
#define STRCASE(STR)        } else if (strcmp(_x, STR)==0){
#define STRBREAK            ;
#define STRDEFAULT          } else {
#define STRENDSWITCH        }}

void setup()
{
  Serial.begin(9600);
  char x[10];
  strcpy(x, "BEER"); 

  STRSWITCH(x)
    STRCASE ("NOT") 
      Serial.println(1,DEC); 
  STRCASE ("APE") 
    Serial.println(2,DEC);
  STRCASE ("BEER") 
    Serial.println(3,DEC);
  STRCASE ("WINE") 
    Serial.println(4,DEC);
  STRDEFAULT 
    Serial.println("not in the list"); 
  STRENDSWITCH
}

void loop()
{
};