All Manuals > LispWorks IDE User Guide > 10 The Debugger Tool

10.1 Description of the Debugger

By default the debugger tool appears as shown in Debugger tool below.

Debugger tool

The debugger tool has two areas, and a toolbar. These are described below. If you invoke the debugger tool by clicking Debug in a notifier window, the tool also contains a listener pane. This provides you with a useful way of evaluating Common Lisp forms interactively in the context of the error.

10.1.1 Condition box

This area displays the error condition which caused entry to the debugger. You cannot edit the text in this box.

The error condition can be operated on by commands in the Debug > Condition menu. See 10.6 Performing operations on the error condition for details.

10.1.2 Backtrace area

The backtrace area displays the function calls on the execution stack. Each tree root or list item in the backtrace area represents a stack frame associated with a function call.

Double-clicking on any stack frame finds and displays the source code definition for that function in the Editor, if this is known. Any frame selected in this area can be operated on using the commands in the Debug > Frame menu, which is also available as the context menu. See 10.7 Performing operations on stack frames for details.

The backtrace is displayed either in a tree or a list, with the behaviors described below.

You can choose which type of display it uses by the Frames and Arguments preference, described in 10.9 Configuring the debugger tool.

10.1.2.1 Frames and Variables in a tree

When the Frames and Arguments preference has the value Tree-view, the Debugger appears as shown in Variables in the Debugger tree view below.

Each expandable root node in the Backtrace: tree represents a stack frame associated with a function call. You can operate on the frame as described in 10.1.2 Backtrace area.

Expanding a stack frame node displays any variables associated with that function call. You can double click on any variable to inspect it using the Inspector tool. Any items selected in this area can be operated on using the commands in the Debug > Variables menu: see 10.8 Performing operations on frame variables for details.

Variables in the Debugger tree view

Each call frame is a root in the tree with a icon and has several kinds of subnode:

Double-click on a icon to show the source of that function, if available, in the Editor. Double-click on any of the disc icons to show that variable in the Inspector.

10.1.2.2 Frames and Variables in two lists

When the Frames and Arguments preference has the value Two list-panels, the Debugger appears as shown in below.

Debugger tool with two list-panels

Each item in the Backtrace: list represents a stack frame associated with a function call. You can operate on the frame as described in 10.1.2 Backtrace area.

A second list titled Local variables: shows the local variables of the frame which is selected in the Backtrace: list. You can operate on the variables similarly to the backtrace tree - double click on a variable to inspect it or use the commands in the Debug > Variables menu, which is also available as the context menu.

Note: with Two list-panels, only the local variables of the current frame are displayed.

10.1.3 Toolbar buttons

At the top of the debugger tool is a row of buttons, as described below. Click:

If you hold the mouse cursor stationary over any button for about one second, then help text appears that identifies the button.

10.1.4 Bypassing the Notifier window

If you prefer a Debugger tool to appear immediately, without the intermediate Notifier window, set *enter-debugger-directly* to a true value.


LispWorks IDE User Guide (Windows version) - 01 Dec 2021 19:37:55