From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: Andrew Cagney Cc: Fernando Nasser , Eli Zaretskii , Michael Snyder , Daniel Jacobowitz , gdb-patches@sourceware.cygnus.com Subject: Re: [RFA] Testsuite addition for x86 linux GDB and SIGALRM fix Date: Thu, 26 Jul 2001 10:24:00 -0000 Message-id: <3B6051D1.9297BBC0@cygnus.com> References: <3B603B33.B9B33633@redhat.com> <3B604DD6.9080708@cygnus.com> X-SW-Source: 2001-07/msg00657.html Andrew Cagney wrote: > > > > > 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. > > So what happens if you're sitting in foo() and type finish but the > previous command wasn't step. Do you still find yourself in bar()? > The current model is that one can switch between the source and assembler debugging at any time by issuing a control command with "i" or without it. So the previous command does not matter -- what matters is if you issued "finish" or "finishi". > > > > '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. > > This actually throws me. Reading it one way it suggests that ``step ; > finish'' should have special behavour. See question above. > No (see above). > Anyway try thinking of ``finish'' as a special form of step. What > happens if you step through foo()? When foo() exits do you jump to > bar() or go back to the caller? > "step" over a subroutine return should behave like "finish" from any other point in that subroutine. A "stepi" should do what "finishi" would do. -- Fernando Nasser Red Hat - Toronto E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9