[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