From c60eb6f167ea93741f61354c1f4fa3541372cd51 Mon Sep 17 00:00:00 2001 From: Elena Zannoni Date: Wed, 15 Jan 2003 14:31:59 +0000 Subject: [PATCH] 2003-01-15 Elena Zannoni * gdb.texinfo (Continuing and Stepping): Add new command 'advance'. Clarify behavior of 'until'. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/gdb.texinfo | 31 +++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 6aacaab860..3d1b173bf6 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-15 Elena Zannoni + + * gdb.texinfo (Continuing and Stepping): Add new command + 'advance'. Clarify behavior of 'until'. + 2003-01-13 Daniel Jacobowitz * gdb.texinfo (Files): Document solib-absolute-prefix and diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index bb67bc35c0..b951ae244b 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -3462,8 +3462,35 @@ argument. Continue running your program until either the specified location is reached, or the current stack frame returns. @var{location} is any of the forms of argument acceptable to @code{break} (@pxref{Set Breaks, -,Setting breakpoints}). This form of the command uses breakpoints, -and hence is quicker than @code{until} without an argument. +,Setting breakpoints}). This form of the command uses breakpoints, and +hence is quicker than @code{until} without an argument. The specified +location is actually reached only if it is in the current frame. This +implies that @code{until} can be used to skip over recursive function +invocations. For instance in the code below, if the current location is +line @code{96}, issuing @code{until 99} will execute the program up to +line @code{99} in the same invocation of factorial, i.e. after the inner +invocations have returned. + +@smallexample +94 int factorial (int value) +95 @{ +96 if (value > 1) @{ +97 value *= factorial (value - 1); +98 @} +99 return (value); +100 @} +@end smallexample + + +@kindex advance @var{location} +@itemx advance @var{location} +Continue running the program up to the given location. An argument is +required, anything of the same form as arguments for the @code{break} +command. Execution will also stop upon exit from the current stack +frame. This command is similar to @code{until}, but @code{advance} will +not skip over recursive function calls, and the target location doesn't +have to be in the same frame as the current one. + @kindex stepi @kindex si @r{(@code{stepi})}