Chapter Contents

Previous

Next
The Windowing Interface

Controlling the Windowing Interface

During a debugging session, you can control the windowing interface by


Opening and Closing Windows

Most windows can be opened with the window open command and closed with the window close command. You cannot use these commands to open and close the four primary windows, Message windows, or Pop-up windows.

To be more precise, open and close are actually subcommands of the window command. The window command is used to issue a number of subcommands, all of which control the windowing interface. Most of these subcommands can be issued from either the Command window or a configuration file. Refer to Setting Up a Configuration File for more information about using a configuration file to customize the windowing interface. Also see Command Directory for more information about the window command and its subcommands.

The general form for using the window command to open a window is as follows:

window open WINDOW-NAME

window close WINDOW-NAME

In either case, WINDOW-NAME identifies the window to be opened and can be any of the following:

Browse Config Dump
Help Keys Print
Register Termin Termout
Watch


Moving, Resizing, and Zooming Windows

With the exception of Message and Pop-up windows, all windows can be moved with the window move command, resized with the window resize command, and zoomed with the window zoom command. These commands can be executed from the Command window; however, the easiest way to accomplish these tasks is to use PF keys. By default, the following commands are assigned to PF keys:
PF2 window move <>
PF14 window resize <>
PF13 window zoom <>

Moving a Window

To move a window, perform the following steps:

  1. Place the cursor in the window you want to move. The cursor can be placed anywhere inside the window or on the border.

  2. Press the PF2 key. MOVE is displayed in the lower-right border of the window to indicate that a move is pending.

  3. Use the arrow keys to move the cursor to the desired location for the window. The window does not follow the cursor until the next step.

  4. Press the ENTER key. The window moves to the desired location.


Resizing a Window

To resize a window, perform the following steps:

  1. Place the cursor on the border of the window you want to resize. The cursor can be placed anywhere inside the window, but resizing is much easier if you place it on one of the borders.

  2. Press the PF14 key. RESIZE is displayed in the lower-right border of the window to indicate that a resize is pending.

  3. Use the arrow keys to move the cursor to the desired location for the window border. The border does not follow the cursor until the next step.

  4. Press the ENTER key. The border moves to the desired location.


Zooming a Window

When you zoom a window, it fills the entire display area. Other windows are hidden behind the zoomed window. To zoom a window, perform the following steps:

  1. Place the cursor in the window you want to zoom. The cursor can be placed anywhere inside the window or on the border.

  2. Press the PF13 key. The window zooms out to fill the entire display area or to its maximum size, whichever is smaller.

  3. Press the PF13 key a second time to restore the original display.


Directing Commands to a Window

Usually any output that is generated by debugger commands is displayed in the Log window. For example, you can use the print command to display the value of a variable, and, unless you specify otherwise, the value of that variable is displayed in the Log window. However, certain commands, such as the print command, can be directed to a dedicated window.

The print command can be directed to the Print window, the dump command to the Dump window, and the keys command to the Keys window by using the following command prefixes:
redirect command (>) opens a new Print, Dump, or Keys window and directs output to it. Only the Keys window can be opened.
redirect command (>>) directs output to a previously opened Print, Dump, or Keys window. If the window has not been opened, this prefix command opens a new window exactly as the > prefix does.

Note:    The > and >> symbols are prefixed to either the print, dump, or keys command. The syntax for the command does not change.  [cautionend]
For example, either of the following commands directs a variable named my_variable to the Print window:
> print my_variable
>> print my_variable

The first command opens a new Print window, and the second command reuses an open Print window.

You can open several Print or Dump windows with the > command prefix; however, only one Keys window can be opened. Both the > and >> command prefixes have the same effect on the keys command if a Keys window is already opened: the existing window is reused.

Anytime a dedicated window is either opened or reused, it automatically becomes the top window. That is, the physical cursor is placed inside the window, which is then placed on top of the stack of windows that are currently open.


Changing the Window Configuration

The size, position, and display attributes of debugger windows can be controlled with the Config window. You can open the Config window with the window open config command and change the display characteristics for any window at any point in your debug session. These changes can be saved to your configuration file if you want to make them permanent. The Config window allows you to customize the following parameters that affect the configuration of the debugger:

AUTOPOP
can be set for each window. If a window is set to autopop, it automatically becomes the top window whenever output is sent to it.

BORDER
specifies whether border characters are in hexadecimal or character format. The same characters are used for all windows with borders.

COLORING
specifies the color, attributes, and intensity for each area in each window. There is a field in the Config window that contains a description of the target area. The field is colored in the same way as the target area. Changes in color, attributes, or intensity are immediately reflected in this field and in the target area.

CONFIGURATION
specifies the configuration (size, position, and presence of borders) of each window.

CONTEXT
contains parameters that control the number of context lines in the Source window. These parameters take effect the next time the Source window is updated.

MEMORY
specifies the memory that is allocated to the buffers of the Command, Log and Source windows. However, the memory that is used by this debugging session is not dynamically reallocated: if you save the configuration with the changed setting, the changed memory values are used the next time you run the debugger.

SCROLL AMOUNT
specifies the default scroll amount.

TRACE LOG
turns on and off the trace status of the Log window.

Certain types of windows, such as the Print window, allow you to open several windows of that type simultaneously. However, other types of windows, such as the Log window, allow only one instance at a time. You cannot have two Log windows open simultaneously.

For windows that allow only one instance, changing configuration parameters results in that window being closed and reopened. If the change results in borders being added, the reopen fails if the resources required to display the window exceed the capabilities of the debugger. This can happen when a large number of windows are open. See Number of Open Windows for a discussion of this limitation. However, failure to reopen one of the four basic windows is severe enough for the debugger to reopen the window without a border.

For windows that allow several instances to be displayed simultaneously, such as the Print window, changing configuration parameters has no effect on windows of that type that are already open. New instances of that type of window are displayed using the new parameters.

You can use the config window to change the size or position of a window. However, information in the window may move, or the moved or resized window may appear on top of the Config window. Therefore, using PF keys is the preferred way to move or resize windows.

To save your current configuration to a file, specify the file name and type in Y after the Save: prompt on the first line of the Config window. window has complete details on the various customization parameters that are saved when the current configuration is written to a file. Those that may be set in the Config window are only a subset of those that are saved.


Using PF Keys

PF keys offer the fastest and easiest way to issue some of the debugger commands in a full-screen session.(footnote 1) The default PF key command assignments are adequate for most debugging tasks; however, you can reassign debugger commands to PF keys by using either the keys command or the Keys window.

Default PF Key Commands

The debugger maintains two sets of tables for key assignments, the current set and the default set. On start-up, both sets of tables are identical to the command assignments that are shown in Default PF Key Commands.

Default PF Key Commands
Key Command Action
PF1 help
open Help Window
PF2 window move < >
move current window
PF3 exit
exit debugger
PF4 > dump < > str
dump memory contents pointed to by expression under cursor
PF5 /**/
none (may be used in a future release)
PF6 /**/
none (may be used in a future release)
PF7 window scroll source up
scroll Source window up
PF8 window scroll source down
scroll Source window down
PF9 window next
jump to next window in stack
PF10 continue
resume execution and break at next line-number hook without stepping into functions
PF11 step
resume execution and break at next hook
PF12 go
resume execution
PF13 window zoom < >
zoom current window
PF14 window resize < >
resize current window
PF15 window close < >
close current window
PF16 print < >
display value of variable under cursor
PF17 window find <>
find in the current window
PF18 /**/
none (may be used in a future release)
PF19 window scroll < > up
scroll current window up
PF20 window scroll < > down
scroll current window down
PF21 window previous
jump to previous window
PF22 window scroll < > left
scroll current window left
PF23 window scroll < > right
scroll current window right
PF24 window top command
jump to Command window

You can use a configuration file to modify the command assignments to both sets of tables. After the configuration file is executed, both sets of tables are identical and contain the default assignments you have specified. See Setting Up a Configuration File for more information.

You can also change the command assignment for a PF key outside the configuration file (sometime after starting your debugging session). These changes affect only your current session unless you choose to save the new configuration with the config save command.

Using the Keys Command

Any of the following keys commands can be used to list or modify PF key assignments. You can issue these commands either in the configuration file or from the Command window.

keys
is an alias for keys list *.

keys list n
lists the key definition for PFN from the current set of tables.

keys list *
lists all key definitions from the current set of tables.

keys default n
gives PFN the default definition. The debugger copies the definition from the default set of tables to the current set of tables.

keys default *
gives all keys their default definitions. The debugger copies the definitions from the default set of tables to the current set of tables.

keys define n "text"
in the configuration file, changes the definition for PFN, both in the default set of tables and in the current set of tables. Outside of the configuration file, this changes the definition only in the current set of tables. The changed definition is specified by text, which may not exceed 80 characters.


Using the Keys Window

You can also use the Keys window to display and change current PF key assignments. Open the Keys window either by issuing a window open keys command or by redirecting any of the keys commands to a window. This is done by prefixing the command with a > or a >>. (See Directing Commands to a Window.)

The Keys window, shown in The Keys Window, comprises four fields: a protected field that identifies the keys, and three unprotected fields. The Help Key field is used to assign a key to the help <> command, and the key definition field is used to assign debugger commands to the other keys. The ISPF field is used only when running the debugger under ISPF, as described in Appendix 4, "Debugger ISPF Interface."

The Keys Window

[IMAGE]

If the height of the window is smaller than that needed to display all of the PF key definitions, you can view information that is not visible by scrolling vertically using the the window scroll up and window scroll down commands. The PF19 and PF20 keys are assigned to these commands by default. You can also use the window zoom command, the effect of which is shown in The Keys Window.

PF key definitions can be changed by typing over the current definition. Blanking out (erasing) the field gives the default definition. (When erasing a field, make sure that the field has been scrolled all the way to the left.) Each key definition can be up to 80 characters long. The definition field may be scrolled horizontally, using the window scroll left and window scroll right commands.

Customizing the Keyboard

You can easily customize a keyboard by creating a configuration file that contains keys define n "text" commands. However, note that customized PF key definitions work only in full-screen mode. Refer to Setting Up a Configuration File for more information about using a configuration file.


Switching Between Full-Screen Mode and Line Mode

At any time during a debugging session, you can switch between full-screen mode and line mode using the window off and window on commands.

window off
terminates the windowing interface and continues the debugging session in line mode, preserving the states of the Log and Command window buffers.

window on
starts up the windowing interface. If full-screen mode was used earlier in this invocation of the debugger, the configuration last used determines the setup, and the contents of the Log and Command window buffers reappear unchanged. However, if this is the first time that full-screen mode is used, your default initial configuration is used. See Setting Up a Configuration File for more information.


FOOTNOTE 1:   Debugger PF key command assignments are used only in full-screen mode. If you switch to a line-mode session, the PF keys are not used. [arrow]


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.