7.3   A Sketch of CrossWind

Figure 7-1 illustrates the layout of the main debugger window. This section discusses each part of the window briefly. The following sections provide more detail.

The menu bar (1) provides access to overall control facilities: the File menu lets you load application modules, or exit; the Targets menu provides a quick way to switch tasks or targets; the Source menu lets you choose among source-code display formats; the Tcl menu re-initializes the graphical front end after any customization to its Tcl definitions; and the Windows menu controls the display of auxiliary debugger windows. For detailed descriptions of these menus, see CrossWind Menus. As usual, the About menu leads to Tornado version information, and the Help menu leads to the Tornado online manuals.

The buttons (2) are the quick path to common debugger commands. Most of them are grouped into related pairs. Table 7-1 shows a summary of each button's purpose. For more detailed descriptions of these buttons, see CrossWind Buttons.

Table 7-1:  Summary of CrossWind Buttons


Button
 
Description
 
Button
 
Description
 

 
Breakpoint.
   
Move up the subroutine stack.
 
 
Temporary breakpoint.
   
Move down the stack.
 
 
Hardware breakpoint.
   
Call up editor.
 
 
Interrupt.
   
Print selected symbol.
 
 
Step to the next line of code.
   
Dereference pointer.
 
 
Step over a function call.
   
Monitor symbol value.
 
 
Continue program execution.
   
Monitor value at pointer.
 
 
Finish the current subroutine.
   
Define a new button.
 

The program-display panel (3) is empty when the debugger begins executing. The debugger automatically displays the current context here, whenever a command or an event sets the context. In the case of Figure 7-1, the display is the effect of the list command, often a useful way to start. Once there is a display in the program-display panel, you can select symbols or lines inside that display to serve as arguments to the button bar in area (2).

The command panel (4) allows you to interact directly with the debugger, issuing commands such as the list command. Type the add-symbols command here if needed to load symbol information for any modules the debugger cannot find on its own; see What Modules to Debug.

The state indicator line (5) reports on the state of the debugger connection. At the left of this line, the debugger shows the name of the source file (if any) for the code being debugged. At the right of the line, the debugger indicates what it is connected to (if anything) by showing one of the messages shown in Table 7-2.

Table 7-2:  Messages in CrossWind State Indicator Line


Message
 
Status
 

No Target
 
No target currently selected.
 
Target: WTX server
 
Connected to a target in task mode, but not to any particular task.
 
Target: WTX Task/Stopped
 
Connected to a task, which is stopped.
 
Target: WTX Task/Exception
 
Connected to a task, which is stopped due to an exception.
 
Target: WTX Task/Running
 
Connected to a task, which is running.
 
Target: WTX System
 
Connected to a target in system mode.