how to examine data with compiler optimization option set?

Tue Sep 2 21:27:00 GMT 2008

Extract of GDB user manual:

"Another possible effect of compiler optimizations is to optimize unused
variables out of existence, or assign variables to registers (as opposed to
memory addresses). Depending on the support for such cases offered by the debug
info format used by the compiler, GDB might not be able to display values for
such local variables.

To solve such problems, either recompile without optimizations, or use a
different debug info format, if the compiler supports several such formats. For
example, GCC, the GNU C/C++ compiler usually supports the `-gstabs' option.
`-gstabs' produces debug info in a format that is superior to formats such as
COFF. You may be able to use DWARF2 (`-gdwarf-2'), which is also an effective
form for debug info. See section `Options for Debugging Your Program or GNU CC'
in Using GNU CC, for more information."

I wanted to keep the optimization option, so I tried to recompile with GCC,
using the -gstabs and -gdwarf-2 options, and even -g3, with this very simple
int main(void){
	int a = 1;
	int b = 2;
	int c = a+b;

	printf("Value c = %d \n", c);

But still couldn't display the variables a, b and c!

Is there a particular compiling option configuration to set?

Many thanks in advance.


More information about the Gdb mailing list