Break/Abend (2.1)
Related Topics
The Break/Abend screen (2.1) appears automatically if the SET SOURCE OFF option is used and allows you to view breakpoint, abend, or storage violation information for an Assembler, C, COBOL, or PL/I program. This screen can be used to change data in storage, change logic flow, or bypass a problem statement.
Access this screen by typing the number 1 on the Debugging Facilities Menu, or as described in Transferring Between Screens.
Break/Abend Screen (2.1)
COMMAND ===> SCROLL ===> CSR
MODULE: CWDEMCB2 ****** STATEMENT 000423 EXECUTED STEP=00001 *******
CAUSE: PROG. PSW ADVANCED BY ONE-STEP (TR) ABEND CODE: STOP
TRAN ID: XCB2 PARAGRAPH: 300-EMPLOYEE-PAY-RTN
INTERRUPT STMT: 000424 OFFSET: 00F14 LAST CICS COMMAND: 000398
RESUME STMT : 000424 OFFSET: 00F14
-------------------------------------------------------------------------------
000422 IF WA-TYPE EQUAL 'N' OR 'I' OR 'S'
000423 1 COMPUTE CURR-PAY EQUAL WA-HOURS * WA-RATE
000424 1 COMPUTE CURR-TAXES EQUAL CURR-PAY * WA-TAX-R
000425 1 ADD CURR-PAY TO WA-YTD-GRS
000426 1 ADD CURR-TAXES TO WA-YTD-TAX.
-------------------------------------------------------------------------------
LV ----- COBOL DATANAME KEEPS ---- -- ATTRIBUTES -- ----+---10----+---20--->
77 CURR-TAXES 9(5)V99 NUM-DIS 0000000
77 CURR-PAY 9(5)V99 NUM-DIS 3400000
02 WA-TAX-RAT 9(3)V9 NUM-DIS 0200
**END**
If a source listing is available (if the program has been processed with a BMC Language Processor), the listing can be seen on the Source-Listing-2-L screen.
Although multiple programs may be running in a test session, only the data from the halted program is displayed on the screen for investigation. Once a break/abend is reached and analyzed, three options are available:
- Resume program execution if a resume from abends is allowed.
- Enter =X or press Clear to return to CICS and continue testing.
- End the session.
Input Fields
RESUME STMT
Resumes program processing from the displayed statement or offset. Resume processing from any executable statement in the program by entering the statement number to execute next.
OFFSET
Resumes program execution from a displayed statement/offset. Enter the offset number to execute next. This field follows the RESUME STMT field.
data field values
Current values of the corresponding data field. To modify the field, overtype the displayed data if the data is within storage owned by the task.
bounds
Bounds, occurrence numbers, or repetition factor displayed if the data item is an array or repetitive Assembler item. Overtype the bounds to see different array elements. The current bounds are displayed for a data item when referenced in the current statement for C, COBOL and PL/I programs only.
Output Fields
The middle data area of the screen displays five lines of SEGMENT source code around the statement where the break/abend occurred. Line 3, the line where the program halted, is highlighted.
CAUSE
Description of the abend or a message explaining why the program halted.
One or more abbreviations indicating which product functions or options were active at the time of the break or abend may be displayed within parentheses at the end of the CAUSE field.
Abbreviation | Active Function or Option |
---|---|
PR | Storage protection |
TR | Trace |
CC | Code Coverage |
SF | System flow |
ALL | All of the above |
ABEND CODE
Identifier of the current abend code (e.g., ASRA), if an abend was intercepted. The following values can also be listed:
- STOP: Identifies a program breakpoint.
- FTCH: Identifies that a fetch violation has been trapped.
- STOR: Identifies that a storage violation has been trapped.
TRAN ID
Current executing transaction at the time of the break/abend.
PARAGRAPH
Last paragraph (for COBOL programs), label (for Assembler and PL/I programs), or function (for C programs) through which the logic of the program passed.
INTERRUPT STMT
Statement number where the program halted.
OFFSET
Offset number where the program halted. The offset is provided to determine the verb in the statement that caused the halt condition. Breakpoints set by the statement number are always applied to the first verb in the statement. This field follows the INTERRUPT STMT field.
LAST CICS COMMAND
Statement number of the last CICS command that was executed in the program.
LV (FIELD LEVEL)
Level number as defined in the COBOL DMAP of the displayed dataname or the level number for a variable within a PL/I structure.
DATA LABEL KEEPS, COBOL DATANAME KEEPS, or C or PL/I VARIABLE KEEPS
Name of the data item being displayed.
ATTRIBUTES
Attributes associated with the data item.