These debugging commands are only available within a recursive REPL; they do not work at the top level.
Print a backtrace.
Print a backtrace of all stack frames, or innermost count frames. If count is negative, the last count frames will be shown.
Select a calling stack frame.
Select and print stack frames that called this one. An argument says how many frames up to go.
Select a called stack frame.
Select and print stack frames called by this one. An argument says how many frames down to go.
Show a frame.
Show the selected frame. With an argument, select a frame by index, then show it.
Print the procedure for the selected frame.
Show local variables.
Show locally-bound variables in the selected frame.
Show error message.
Display the message associated with the error that started the current debugging REPL.
Show the VM registers associated with the current frame.
See Stack Layout, for more information on VM stack frames.
Sets the number of display columns in the output of
,locals to cols. If cols is not given, the width
of the terminal is used.
The next 3 commands work at any REPL.
Set a breakpoint at proc.
Set a breakpoint at the given source location.
Set a tracepoint on the given procedure. This will cause all calls to the procedure to print out a tracing message. See Tracing Traps, for more information.
The rest of the commands in this subsection all apply only when the stack is continuable — in other words when it makes sense for the program that the stack comes from to continue running. Usually this means that the program stopped because of a trap or a breakpoint.
Tell the debugged program to step to the next source location.
Tell the debugged program to step to the next source location in the same frame. (See Traps for the details of how this works.)
Tell the program being debugged to continue running until the completion of the current stack frame, and at that time to print the result and reenter the REPL.