This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Gcc options for improving debugging?


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:
Hardware, n.: The parts of a computer system that can be kicked.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]