Getting Internal Debugging Information (GNAT User’s Guide for Native Platforms)

#### 6.1.13 Getting Internal Debugging Information ¶

Most compilers have internal debugging switches and modes. GNAT does too, except GNAT internal debugging switches and modes are not secret. A summary and full description of all the compiler and binder debug flags are in the file `debug.adb`. You must obtain the sources of the compiler to see the full detailed effects of these flags.

The switches that print the source of the program (reconstructed from the internal tree) are of general interest for user programs, as are the options to print the full internal tree and the entity table (the symbol table information). The reconstructed source provides a readable version of the program after the front-end has completed analysis and expansion and is useful when studying the performance of specific constructs. For example, constraint checks are shown explicitly, complex aggregates are replaced with loops and assignments, and tasking primitives are replaced with run-time calls.