1.0.37.2.: document UNLOAD-SHARED-OBJECT in the manual
[sbcl.git] / doc / manual / debugger.texinfo
index fd299dd..45a4b99 100644 (file)
@@ -26,7 +26,7 @@ the debugger, single-stepper and @code{trace}, and the effect of
 
 @menu
 * Debugger Banner::             
-* Debugger Invokation::         
+* Debugger Invocation::         
 @end menu
 
 @node Debugger Banner
@@ -63,9 +63,9 @@ by entering the corresponding number or name.
 The current frame appears right underneath the restarts, immediately
 followed by the debugger prompt.
 
-@node Debugger Invokation
+@node Debugger Invocation
 @comment  node-name,  next,  previous,  up
-@subsection Debugger Invokation
+@subsection Debugger Invocation
 
 The debugger is invoked when:
 
@@ -850,9 +850,9 @@ If @code{debug} is greater than both @code{speed} and @code{space},
 the command @command{return} can be used to continue execution by
 returning a value from the current stack frame.
 
-If @code{debug} is also at least 2, then  the code is @emph{partially
-steppable}. If @code{debug} is 3, the code is @emph{fully steppable}.
-@xref{Single Stepping}, for details.
+@item > (max speed space compilation-speed)
+If @code{debug} is greater than all of @code{speed}, @code{space} and
+@code{compilation-speed} the code will be steppable (@pxref{Single Stepping}).
 
 @end table
 
@@ -902,13 +902,20 @@ useful for popping debug command loop levels or aborting to top level,
 as the case may be.
 @end deffn
 
-@deffn {Debugger Command} return @var{value}
+@deffn {Debugger Command} return @var{value} 
 Returns @var{value} from the current stack frame.  This command is
 available when the @code{debug} optimization quality is greater than
 both @code{speed} and @code{space}.  Care must be taken that the value
 is of the same type as SBCL expects the stack frame to return.
 @end deffn
 
+@deffn {Debugger Command} restart-frame
+Restarts execution of the current stack frame. This command is
+available when the @code{debug} optimization quality is greater than
+both @code{speed} and @code{space} and when the frame is for is a global
+function. If the function is redefined in the debugger before the frame
+is restarted, the new function will be used.
+@end deffn
 
 @node  Information Commands
 @comment  node-name,  next,  previous,  up
@@ -943,11 +950,6 @@ Displays all the frames from the current to the bottom. Only shows
 @code{*debug-print-variable-alist*}.
 @end deffn
 
-@deffn {Debugger Command} step
-Selects the @code{continue} restart if one exists and starts single stepping.
-@xref{Single Stepping}.
-@end deffn
-
 @c The new instrumentation based single stepper doesn't support
 @c the following commands, but BREAKPOINT at least should be
 @c resurrectable via (TRACE FOO :BREAK T).
@@ -1121,23 +1123,32 @@ code, that can be invoked via the @code{step} macro, or from within
 the debugger. @xref{Debugger Policy Control}, for details on enabling
 stepping for compiled code.
 
-Compiled code can be unsteppable, partially steppable, or fully steppable.
+The following debugger commands are used for controlling single stepping.
 
-@table @strong
+@deffn {Debugger Command} start
+Selects the @code{continue} restart if one exists and starts single stepping.
+None of the other single stepping commands can be used before stepping has
+been started either by using @code{start} or by using the standard 
+@code{step} macro.
+@end deffn
 
-@item Unsteppable
-Single stepping is not possible.
+@deffn {Debugger Command} step
+Steps into the current form. Stepping will be resumed when the next
+form that has been compiled with stepper instrumentation is evaluated.
+@end deffn
 
-@item Partially steppable
-Single stepping is possible at sequential function call granularity:
-nested function calls cannot be stepped into, and no intermediate
-values are available.
+@deffn {Debugger Command} next
+Steps over the current form. Stepping will be disabled until evaluation of
+the form is complete.
+@end deffn
 
-@item Fully steppable
-Single stepping is possible at individual function call argument
-granularity, nested calls can be stepped into, and intermediate values
-are available.
+@deffn {Debugger Command} out
+Steps out of the current frame. Stepping will be disabled until the 
+topmost stack frame that had been stepped into returns.
+@end deffn
 
-@end table
+@deffn {Debugger Command} stop
+Stops the single stepper and resumes normal execution.
+@end deffn
 
 @include macro-common-lisp-step.texinfo