Space announcement This documentation space provides the same content as before, but the organization of the content has changed. The content is now organized based on logical branches instead of legacy book titles. We hope that the new structure will help you quickly find the content that you need.

Break/Abend (2.1)


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)

 ------------------------------ BREAK/ABEND (2.1) ------------------------C024
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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*