Next: , Previous: , Up: The Debugger   [Contents][Index]


3.9 Breakpoint Commands

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]