Behavior of 'until' command

Elena Zannoni ezannoni@redhat.com
Thu Nov 14 08:59:00 GMT 2002


Pierre Muller writes:
 > At 21:28 13/11/2002, Elena Zannoni wrote:
 > >Andrew Cagney writes:
 > > > > Similarly from foo line 15 where should 'until fun2' take me? Inside
 > > > >> fun2, at line 10? Or at line 16? Currently I end up at line 22 which
 > > > >> is in main. This seems clearly wrong either way.
 > > > >> 
 > > > >> Any thoughts?
 > > > > 
 > > > > 
 > > > > Your reading sounds right to me.  If you look at the output of 'set
 > > > > debug target 1' in your example, we set and hit the breakpoint in fun2
 > > > > and then decide to continue for some reason - that's got to be a bug.
 > > > > 
 > > > > If you have a chance this would make a great testcase.
 > > > 
 > > > In fact I'm sure it once worked?  Being able to use `until fun2' in 
 > > > cases like:
 > > > 
 > > >      foo ()
 > > >      {
 > > >        return (a + b + foo() + bar() + fun2(bar(bax))));
 > > >      }
 > > > 
 > >
 > >Yes. So all agree that
 > >
 > >"until fun2" == "break fun2; continue"  ??
 > 
 > 
 > Isn't there still a difference, in thesense that 
 > if you leave the current frame without calling fun2,
 > that we stop at the calling frame and remove the breakpoint 
 > that exists for fun2. 
 > But I assume that you didn't mean that the 
 > break fun2 should survive after leaving the frame...

Yes, if the current function finishes, you stop at the caller. And may
not reach fun2 ever.

Elena



More information about the Gdb mailing list