Treat an initial value of zero the same as any other value. Without this option it is possible to have multiple DATA statements set the initial value of a variable to zero, and the fact will be undiagnosed by the compiler.
The output includes debugging information in a form that can be used by gdb. The format and content depends on the object format produced by the compiler (stabs, COFF, XCOFF, or DWARF).
The level setting is optional. The level number specifies the amount of debugging information to be included. The default is level 2. Level 1 produces the global information required for backtraces, but does not include local variables nor line numbers. Level 2 includes all of the level 1 information plus local variables and line numbers. Level 3 includes the level 2 information along with extra information such as macro definitions.
On a system that uses the stabs format, this option will produce debugging information in a form that can be used only by gdb.
It is possible to use this option in combination with -O to produce optimized code. With optimization the debugging procedure may not be as easy to follow as it would have been otherwise because optimization makes changes to the generated code, and there is no longer a one-to-one correspondence between the source and the object it produced. Some object code will be relocated, and some source may appear to have not produced any executable code at all.
Also see -ggdb, -gstabs, -gcoff, -gxcoff, and -gdwarf. This option can be written --debug.
Was this article helpful?