Debugging frameless code

Kevin Buettner kevinb@cygnus.com
Thu Sep 28 16:48:00 GMT 2000


On Sep 28,  3:43pm, Nicolas.Thery@Symbian.com wrote:

> GDB documentation states that gdb has limited ability to deal with code
> compiled without frame pointer.
> 
> Does this limitation applies to every version of gdb and every kind of
> binary/debug format?

GDB does better on some targets than others.  At the moment, I don't
think it depends too much upon the debug format.  Most targets scan
the function prologue to learn about whether the function has a frame
pointer or not and also to learn where various registers are saved. 
Some are better at handling functions that don't have frame pointers
than others.

> To be more precise, is it possible to dump stack backtrace for frameless
> code using a recent version of gdb and elf/dwarf2 (and gcc as the
> compiler)?

In some cases, yes.  For example, I've been able to do this for
Linux/IA-64.  (But it's also the case that as the optimization gets
more aggressive, this could fail.)

Which target in particular were you wondering about?

> I've been told that dwarf2 includes information that can help a debugger in
> such a case, but I don't know whether gcc actually emits these information
> and whether gdb is able to use them.

I'll let someone who is more familiar with DWARF2 than myself answer
this.  I will note, however, that gdb's DWARF2 support is far from
complete and could certainly be made better.

Kevin


More information about the Gdb mailing list