Gcc options for improving debugging?
Alex Bennee
kernel-hacker@bennee.com
Wed Jul 19 13:05:00 GMT 2006
Hi,
By default we build our software with -O3 which brings in a host of
optimisations which make following code in GDB a pain. Artifacts I have
to deal with include:
* this=Variable "this" is not available and friends
* funky execution order when tracing
* Compressed backtraces due to inlineing
Now I have tackled this one way by introducing a -O0 variant of our
build for debugging. However it's becoming more tricky to compile with
low optimisation levels when we have some quite complex inline assembler
that needs a certain level of optimisation to be able to derive
constants from C++ functions.
An alternate approach is to compile with -O3 but turn off specific
optimisations which make life tricky for gdb. So far I have:
* -ggdb3 (obviously)
* -fno-omit-frame-pointer (seems to help with finding some variables)
What else would you suggest? Would this be worth adding to section 4.1
of the manual "Compiling for debugging".
--
Alex, homepage: http://www.bennee.com/~alex/
Hardware, n.: The parts of a computer system that can be kicked.
More information about the Gdb
mailing list