stabs at function entry point?

Dale Johannesen dalej@apple.com
Wed Mar 13 18:29:00 GMT 2002


On Wednesday, March 13, 2002, at 06:18 PM, Richard Henderson wrote:

> On Wed, Mar 13, 2002 at 04:25:48PM -0800, Jim Ingham wrote:
>> So my contention was that no one who is doing source level debugging
>> ever wants to break at the beginning of the prologue.
>
> Which is patently false.  I do.  All the time.  It's almost
> impossible to avoid it when trying to debug optimized code.
>
>> All sorts of oddities happen then (the stack is wrong, the current
>> frame is wrong, etc) which from a source debugging point of view
>> are hard to understand.
>
> Yes indeed they are (though it would be greatly helped by using
> dwarf2 frame unwind info and location lists).  Nevertheless, if
> you've got optimized code, gdb's notion of what constitutes a
> prologue is worthless anyway.  So instead of "b foo; cond x == 1234"
> you have to do "b *foo; cond $a0 == 1234".

Yes, I do this too.  Which means I don't care what "b foo" does in
optimized code.  Indeed, I've found the debugging info put out with
optimization to be more confusing than helpful; to get anything done
I wind up debugging at assembly level anyway.

But the main point of the change was to get better behavior in
*unoptimized* code.  I suppose this point wasn't made very well
before.



More information about the Gcc mailing list