gdb 6.4 does not stop unwinding even after reaching the lastframe.

Kalpana Ramamurthy kal_pana@hotmail.com
Thu Mar 29 06:36:00 GMT 2007


Is there a way to fix this problem in gdb 6.4 itself. I have made a lot of 
code modifications to comply
with my project requirements and it would be difficult to shift to any other 
version of gdb. The code that I am debugging does not have a main() as the 
last function on stack. Instead it has
something else. Can I unwind till it finds that function and then stop 
unwinding ? I see a piece
of code in frame.c for get_prev_frame() function which tests for 
backtrace_past_entry. There is
also a backtrace_limit. Another function iniside_entry_func() seems to check 
if we are inside
the entry function. Can we use all that to determine that the unwinding has 
now reached
the entry level function and it should stop unwinding any further ?


>From: Daniel Jacobowitz <drow@false.org>
>To: Kalpana Ramamurthy <kal_pana@hotmail.com>
>CC: gdb@sourceware.org
>Subject: Re: gdb 6.4 does not stop unwinding even after reaching the 
>lastframe.
>Date: Wed, 28 Mar 2007 07:26:42 -0400
>
>On Wed, Mar 28, 2007 at 09:23:53AM +0000, Kalpana Ramamurthy wrote:
> > Hello,
>
> > I am using gdb 6.4 for debugging the product that I work on. When I try 
>to
> > print a bactrace, I get
> > an extra frame at the end which looks like this :
>
> > #6 0x00000000 in ?? ()
>
>There are not a lot of ways to safely indicate the end of the stack.
>Due to some internal reorganization, GDB 6.x is usually better about
>unwinding through strange things on the stack - but as a consequence
>it sometimes unwinds through the last frame too.  Please try a version
>from CVS and see if it's any better; it may or may not be.
>
>--
>Daniel Jacobowitz
>CodeSourcery

_________________________________________________________________
Spice up your IM conversations. New, colorful and animated emoticons. Get 
chatting! http://server1.msn.co.in/SP05/emoticons/



More information about the Gdb mailing list