[RFA] Testsuite addition for x86 linux GDB and SIGALRM fix

Fernando Nasser fnasser@redhat.com
Thu Jul 26 08:48:00 GMT 2001


Eli Zaretskii wrote:
> 
> On Thu, 26 Jul 2001, Fernando Nasser wrote:
> 
> > >         o       step executes instructions until you
> > >                 leave the current line
> > >                 (be it enter a function or reach a new
> > >                 line)
> > >
> >
> > 'step' should never leave you in the same line from where you've issued
> > it.  That is counter intuitive, even if you had a stop-finish in the
> > middle.
> 
> Agreed.
> 
> > "finish" is a source level command and source level commands should not
> > leave you in the middle of source lines.
> 
> I'm not sure I understand what you mean here (or that you mean what I
> understand ;-).  We could have a source line like this:
> 
>         int i = (foo (), bar ());
> 
> or even like this:
> 
>         int i = foo (); bar ();
> 
> Where would you suggest that "finish" leaves you in these cases, and what
> does ``in the middle of source lines'' mean in these cases?  Also, do you
> think these two cases are fundamentally different from "foo (bar ());",
> and if so, how are they different?
> 

All are the same.  "step" gets into foo(), a "finish" finishes foo(),
but then there is bar() so you stop there next.  Another "finish" and
you will stop on the line that follows the above lines.

Note that a "finishi" command would leave you at the return point at
some PC in the middle of the above source lines.  



> > When the user issues a "step" on 'foo (bar ())' source line, he/she may
> > want to enter either bar() or foo().  We cannot know that, so we must
> > stop at each one and he/she can go to the next by issuing "finish",
> > i.e., "finish _this_ subroutine".
> 
> Now I'm confused: this seems to suggest that the first "step" gets her
> inside bar(), and if she then types "finish", she will be after the call
> to bar(), but before the call to foo() (that's how I interpret ``finish
> _this_ subroutine'').  But that is in the middle of a source line, which
> seems to contradict your previous requirement.
> 

No, that would be a "finishi" (assemble level debugging).  For the
"finish (source level debugging) see above.


Regards,
Fernando


-- 
Fernando Nasser
Red Hat Canada Ltd.                     E-Mail:  fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9



More information about the Gdb-patches mailing list