X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fdebugger.texinfo;h=45a4b99f3b3f14e8999b221ba2b8047319463dab;hb=c553e4be6da2d18f0827f190589c88e837b8b8a6;hp=fd299dd3c482736bfb86213240bb6a742d4c0048;hpb=7b5628003e3016985952908016219b872ed48811;p=sbcl.git diff --git a/doc/manual/debugger.texinfo b/doc/manual/debugger.texinfo index fd299dd..45a4b99 100644 --- a/doc/manual/debugger.texinfo +++ b/doc/manual/debugger.texinfo @@ -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