Next: Function Tracing, Previous: Information Commands, Up: The Debugger [Contents][Index]
CMUCL supports setting of breakpoints inside compiled functions and
stepping of compiled code. Breakpoints can only be set at at known
locations (see unknown-locations), so these commands are largely
useless unless the debug
optimize quality is at least 2
(see debugger-policy). These commands manipulate breakpoints:
breakpoint
location {option value}*
Set a breakpoint in some function. location may be an integer
code location number (as displayed by list-locations
) or a
keyword. The keyword can be used to indicate setting a breakpoint at
the function start (:start
, :s
) or function end
(:end
, :e
). The breakpoint
command has
:condition
, :break
, :print
and :function
options which work similarly to the trace
options.
list-locations
(or ll
) {function}
List all the code locations in the current frame’s function, or in function if it is supplied. The display format is the code location number, a colon and then the source form for that location:
3: (1- N)
If consecutive locations have the same source, then a numeric range like
3-5:
will be printed. For example, a default function call has a
known location both immediately before and after the call, which would
result in two code locations with the same source. The listed function
becomes the new default function for breakpoint setting (via the
breakpoint
) command.
list-breakpoints
(or lb
)
List all currently active breakpoints with their breakpoint number.
delete-breakpoint
(or db
) {number}
Delete a breakpoint specified by its breakpoint number. If no number is specified, delete all breakpoints.
step
Step to the next possible breakpoint location in the current function. This always steps over function calls, instead of stepping into them
Next: Function Tracing, Previous: Information Commands, Up: The Debugger [Contents][Index]