You copied the Doc URL to your clipboard.

-g, -gdwarf-2, -gdwarf-3, -gdwarf-4 (armclang)

Adds debug tables for source-level debugging.






is the DWARF format to produce. Valid values are 2, 3, and 4.

The -g option is a synonym for -gdwarf-4.


The compiler produces debug information that is compatible with the specified DWARF standard.

Use a compatible debugger to load, run, and debug images. For example, Arm® DS-5 Debugger is compatible with DWARF 4. Compile with the -g or -gdwarf-4 options to debug with Arm DS-5 Debugger.

Legacy and third-party tools might not support DWARF 4 debug information. In this case you can specify the level of DWARF conformance required using the -gdwarf-2 or -gdwarf-3 options.

Because the DWARF 4 specification supports language features that are not available in earlier versions of DWARF, the -gdwarf-2 and -gdwarf-3 options should only be used for backwards compatibility.


By default, armclang does not produce debug information. When using -g, the default level is DWARF 4.


If you specify multiple options, the last option specified takes precedence. For example:

  • -gdwarf-3 -gdwarf-2 produces DWARF 2 debug, because -gdwarf-2 overrides -gdwarf-3.
  • -g -gdwarf-2 produces DWARF 2 debug, because -gdwarf-2 overrides the default DWARF level implied by -g.
  • -gdwarf-2 -g produces DWARF 4 debug, because -g (a synonym for -gdwarf-4) overrides -gdwarf-2.