How can I see expanded macros?

You can set up a one-shot loop and break out of it like below, but I'm not convinced this is a fantastic idea:

void setup ()
  {
  int a = 42;
  
  do
    {
    if (a == 1) 
       {
       // blah blah 
       break; 
       }
    else if (a == 2)
       {
         
       }
     // and so on ...  
    } while (false);
  
  } // end of setup
void loop () {}