Re: info frame

Eli Zaretskii
2006-04-17T07:05:56Z

> Date: Mon, 17 Apr 2006 01:33:21 +0200 (CEST)
> From: Mark Kettenis <mark.kettenis@xs4all.nl>
> CC: gdb@sources.redhat.com
>
> > (gdb) info frame
> > Stack level 0, frame at 0xbffff710:
> > eip = 0x80484a9 in main (myprog.c:47); saved eip 0x4006015a
> > source language c.
> > Arglist at 0xbffff708, args: argc=1, argv=0xbffff774
> > Locals at 0xbffff708, Previous frame's sp is 0xbffff710
> > Saved registers:
> > ebp at 0xbffff708, eip at 0xbffff70c
> > (gdb) p $fp
> > $1 = (void *) 0xbffff708
> >
> > Can this be right?
>
> Yes, current GDB uses the convention that the frame address is the
> Canonical Frame Address (CFA) as used by the DWARF 2 Call Frame Info
> (CFI).

Does this mean that, if the debug info is stabs or something other
than DWARF 2, a different frame address will be displayed for the same
code?

> In general the CFA is the value of the stack pointer when the
> current function was called.

``In general''? Does this mean that in some cases it will be
something else? If so, when that will happen, and what will we show
then?

I'm asking all this because it should be somehow mentioned in the
docs.

TIA