Preserving Preprocessor Symbols for Debugging Purposes

I have spent half of the weekend debugging a bug in tcc without much progress so far. Anyway one thing which is quite useful while debugging an application which uses a lot of preprocessor symbols (i.e. #defines) is to make them available to gdb. The following options tell gcc to embed the required debugging information in the executable.

gcc -gdwarf-2 -g3 [other options as needed]