User interface to Code Debug TSO
This topic describes how to interact with Code Debug TSO in general. The screen formats, PF key assignments, command processing, and attention key processing are discussed.
Code Debug screens
Code Debug uses screens that are like ISPF/PDF, making the Code Debug menus and utility screens self-explanatory. The Source, Log, Show, and Memory screens have a similar format. Assembler Program in the Source Screen displays an Assembler program in the Code Debug Source screen, and Assembler Program Encountering an Abend Screen displays an Assembler program on the same screen encountering an abend.
Assembler Program in the Source Screen
COMMAND ===> SCROLL ===> CSR
PROGRAM: TRIMAINA MODULE: TRIMAINA COMP DATE: 08/23/1995 COMP TIME: 10.16.00
** END **
------ -------------------------------------------- Before TRIMAINA/AMODE 24 <>
=====> B TRIMAINA CSECT
000040 R11 EQU 11
000041 R12 EQU 12
000042 R13 EQU 13
000043 R14 EQU 14
000044 R15 EQU 15
000045 USING *,R15
000046 ******************************************************
000047 SETUP EQU * *
000048 STM R14,R12,12(R13) * SAVE REGISTERS
000049 LR R12,R15 *
000050 DROP R15 * OPEN UP
000051 USING TRIMAINA,R12 *
000052 LA R11,SAVEAREA *
000023 ST R13,4(R11) * CHAIN SAVE AREAS
The screen areas are described as:
Title
(line 1)—Identifies the screen name: Source, Log, Show, Memory, and so forth.
Command area
(line 2)—Primary command line, which can be increased to three lines using the SET CMDSIZE command.
Scroll amount
(line 2)—Indicates the current scroll amount. You can type over the current value with one of the following values:
1 to 9999 | Scrolls by the number of lines or columns. |
CSR or C | Scrolls based on the current position of the cursor. |
DATA or D | Scrolls by one line or column less than PAGE. |
HALF or H | Scrolls by a half page. |
PAGE or P | Scrolls by one page. |
Program
(line 3)—Identifies the source program currently displayed. This is an unprotected field and can be typed over with another program name.
Module
(line 3)—Displays the load module name.
Compile date
(line 3)—Displays the compile date.
Compile time
(line 3)—Displays the compile time.
Assembler Program Encountering an Abend
COMMAND ===> SCROLL ===> CSR
S0C7 ABEND ENCOUNTERED, USE "AA SNAP" COMMAND FOR ADDITIONAL INFORMATION
000092 ANB DS PL2 > ???? INVALID PACKED
000089 TSTB DS PL1 > 6 PACKED
** END **
------ ------------------------------- S0C7 Abend at TRITSTA:41/AMODE 24 <>
000033 USING TSTREC,R2 SET ADDRESS FOR DSECT
000034 ZEROIT ZAP ANB,=P'0'
000035 ZAP ANC,=P'0'
000036 ZAP BNC,=P'0'
000037 PACKIT PACK TSTA,SIDEA PACK TRIANGLE SIDE
000038 PACK TSTB,SIDEB "
000039 PACK TSTC,SIDEC "
000040 B ADDIT MVC ANB+1(1),TSTA ADD SIDEA TO SIDEB GIVING ANB
=====> AP ANB,TSTB
000042 MVC ANC+1(1),TSTA ADD SIDEA TO SIDEC GIVING ANC
000043 AP ANC,TSTC
000044 MVC BNC+1(1),TSTB ADD SIDEB TO SIDEC GIVING BNC
000045 AP BNC,TSTC
000046 VALIDATE CP BNC,TSTA BNC NOT > A?
000047 BL MOVEIT THEN INVALID; GOTO MOVEIT
Message area
(The above figure, line 3)—Displays short or informational messages. When a message is issued, it overlays the program information in line 3. Press Enter to flush the message and display the program information. Additional information can be accessed by pressing PF1 (HELP).
Keep window
(lines 4 - 8)—Automatically displays data referenced in the current statement; i.e., the statement where the execution arrow is located when the breakpoint takes effect. Explicitly kept data is also displayed. Explicitly kept items are denoted by a K in column 9 of the window.
The data in the window can be scrolled by moving the cursor to the Keep window and using the PF7 (UP) and PF8 (DOWN) keys to scroll vertically and the PF22 (DRIGHT) and PF23 (DLEFT) keys to scroll horizontally. You can also control the size of the window and, for automatic keeps, the placement of the automatically kept items. See the Displaying Test Session Settings for additional information.
The SET AUTOKEEP ON/OFF command toggles the effect of the Automatic Keep function.
Execution status
(line 9)—Identifies the current execution point in your program. The <> shown at the end of this line indicates that the source can be scrolled to the left and/or right.
The execution status line may also display one or more of the following:
- Whether execution is halted before or after the specified line (Assembler Program in the Source Screen)
- Program name
- Abend code (Assembler Program Encountering an Abend)
- 24, 31, or 64 bit addressing mode.
Source area
As shown in both Assembler Program in the Source Screen and Assembler Program Encountering an Abend Screen, the source area begins on line 10 and displays 68 to 70 bytes of the source code on the screen at a time. The source can be scrolled vertically using the PF7 (UP) and PF8 (DOWN) keys and horizontally using the PF10 (RIGHT) and PF11 (LEFT) keys. When an Automatic Keep window is visible, the data in the window can also be scrolled vertically using the PF7 and PF8 keys and horizontally using the PF22 and PF23 keys.
The After, Before, Onetime, Peek, and Skip indicators are displayed on the left side of the source in column 9. A 7-digit counter set by the COUNT command is displayed on the right side beginning at column 74.
PF keys
The default settings for the 24 Code Debug PF keys are listed as follows. These values are valid during the Code Debug TSO session. ISPF PF keys are not affected. The ISPF KEYS command or the SET PFn command can be used to override the defaults.
Default Program Function (PF) Keys
PF key | Default setting | Description of function |
---|---|---|
PF1/PF13 | HELP | Elaborates a Code Debug TSO message and invokes the context-sensitive tutorial facility. |
PF2 | PEEK CSR | Displays the contents of the data name defined by the current cursor position. The cursor must be in the Source window under a valid data name. |
PF14 | FIND CSR | Finds the character string located under the cursor position. |
PF3/PF15 | END | Returns you to the previous menu if you are in the Log, Help, Browse, or Show functions. |
PF4/PF16 | EXIT | Ends the current Code Debug TSO session. |
PF5 | FIND | Repeats the action of the previous FIND command. |
PF17 | FIND IND | Scrolls the source display to successive levels of indirect references related to a previously entered FIND INDIRECT command. |
PF6/PF18 | LOCATE * | Scrolls the source display to the current location where execution was suspended. |
PF7/PF19 | UP | Scrolls the source or data in the Keep window up, or toward the top of the file. |
PF8/PF20 | DOWN | Scrolls the source or data in the Keep window down, or toward the bottom of the file. |
PF9/PF21 | GO 1 | Executes the next logical instruction in your program, then pauses. |
PF10 | LEFT | Scrolls the source display to the left. |
PF11 | RIGHT | Scrolls the source display to the right. |
PF12/PF24 | GO | Starts or resumes execution of your program. |
PF22 | DLEFT | Scrolls data in an Automatic Keep, Keep, or Peek window to the left. |
PF23 | DRIGHT | Scrolls data in an Automatic Keep, Keep, or Peek window to the right. |
Command processing
In interactive mode, the results of command execution are immediately visible on the source display.
Code Debug TSO commands can be entered in three ways:
- Type the command in the primary command area and press Enter. Command stacking, delimited by the ISPF command delimiter, is allowed. The default ISPF command delimiter is a semicolon (;).
The primary command area can be extended up to three lines by using the SET CMDSIZE command. The previous primary command can be recalled by entering a question mark (?). - Press the PF key that was assigned to the desired command. See Default Program Function (PF) Keys table for a list of the PF key assignments.
- Type over the 6-digit compiler-generated statement number with a valid line command and press Enter.
Code Debug TSO records the line command in the session log in the same manner as the primary command.
Lowercase conversion
By default, commands entered in lowercase are converted to uppercase. To override the default, use the SET CAPS OFF command. Also, to display lowercase data, use the SET LOWCASE ASIS command.
Attention key processing
When you press the Attention key while Code Debug or your application is executing, the message ENTER ATTENTION OPTION OR HELP FOR LIST OF OPTIONS is displayed. If you enter HELP, a screen containing information similar to following figure is displayed. Enter the option you want to perform.
Attention Key Processing Options
PAUSE TO DYNAMICALLY INVOKE THE PAUSE COMMAND
EXIT TO TERMINATE THE TEST SESSION
LOG TO DISPLAY THE LOG PRIOR TO TERMINATION
PSW TO DISPLAY THE CURRENT PSW ADDRESS
GPREGS TO DISPLAY THE CURRENT GENERAL PURPOSE REGISTERS
STORAGE <address> TO DISPLAY STORAGE AT THE SPECIFIED ADDRESS
WHERE TO DISPLAY THE CURRENT MODULE AND OFFSET
WHERE <address> TO DISPLAY THE MODULE AND OFFSET OF <address>
WHERE <module> TO DISPLAY THE ADDRESS OF THE SPECIFIED MODULE
GO TO RESUME TEST EXECUTION (or PRESS ENTER)
If pressing the Attention key interrupts an IMS Fast Path test and you then enter the EXIT command, Code Debug IMS will detach your IMS region and an S33E system abend will be reported as you return to the starting test panel. Message XPD1202 records the abend in the Code Debug session log.
When you press the Attention key while Code Debug is waiting for input (e.g., stopped at a breakpoint), the message ATTENTION IGNORED - WAITING FOR TERMINAL INPUT is displayed. If you press the Attention key again, the message ENTER ATTENTION TO TERMINATE OR ENTER TO CONTINUE is displayed. Pressing Attention again will take you to the READY prompt.