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.

Assembler Break/Abend (2.20)


The Assembler Break/Abend screen (2.20) shown in following figure informs you that Code Debug CICS has encountered a breakpoint, abend, or storage violation in a program for which no source is available.

Use this screen to change data in the registers, alter the resume location to change the logic flow, or resume execution around a problem statement.

Access this screen by typing the number 20 on the Debugging Facilities Menu, or as described in Transferring Between Screens.

Assembler Break/Abend Screen (2.20) 64-bit Version

--------------------------- ASSEMBLER BREAK/ABEND (2.20) ------------------C024
COMMAND ===>                                                   SCROLL ===> CSR
MODULE: CWDEMCB2 CSECT: CWDEMCB2          COMPILED: 09 JUN 2005 - 11.23.01
CAUSE: DATA EXCEPTION                  (PR/TR)                 ABEND CODE: ASRA
APPLID: ACME123   USERID: ACMJET0   TERM: 0225   NETNAME: TCW00225  TRAN: XASM
INTERRUPT OFFSET: 000252    ADDRESS: B588A2DA   PSW: 079D0000 B588A2E0 00060007
RESUME    OFFSET: 000252    ADDRESS: B588A2DA   LAST CICS COMMAND:  0012E      
                                                                               
INSTRUCTION: FC42 D267 D25A   MP     X'267'(5,13),X'25A'(3,13)                 
REGISTERS:                                                                     
                                                                               
0-3  00000000_00201B60  00000000_00201950  00000000_80050F98  00000000_3588A088
                                                                               
4-7  00000000_35AC4870  00000000_355E3EEF  00000000_355E4EEE  00000000_355E5EED
                                                                               
8-B  00000000_355E6EEC  00000000_355E7EEB  00000000_35AC4D70  00000000_002000D0
                                                                               
C-F  00000000_008B4000  00000000_002018E8  00000000_B588A1B8  00000000_00000000


The (64-bit) version shown in above figure is displayed by default, but the primary command SET REGISTERS 32 can be used to see the 32-bit version (following figure).

Assembler Break/Abend Screen (2.20) 32-bit Version

-------------------------- ASSEMBLER BREAK/ABEND (2.20) -------------------C024
COMMAND ===>                                                   SCROLL ===> CSR
MODULE: CWDEMCB2 CSECT: CWDEMCB2          COMPILED: 28 MAY 2003 - 11.11.29
CAUSE: PROG. PSW ADVANCED BY ONE-STEP  (TR)                    ABEND CODE: STOP
APPLID: ACMEC123   USERID: ACMJET0   TERM: 0048   NETNAME: TCW00048  TRAN: XCB2
INTERRUPT OFFSET: 000C64    ADDRESS: BB8875EC   PSW: 079D1000 BB8875EC 00060001
RESUME    OFFSET: 000C64    ADDRESS: BB8875EC   LAST CICS COMMAND:

INSTRUCTION: 4120 AF68        LA     2,X'F68'(0,10)
REGISTERS:

       R0       R1       R2       R3       R4       R5       R6       R7
    00000000 00240050 3AE2A4D0 3B8875DC 000EC8D4 00000000 3AE237C8 00000000

       R8       R9       R10      R11      R12      R13      R14      R15
    002400D0 3B886A44 3AE29548 3B887200 3B886A08 3AE25548 BB88756E BABAB570

Data Area

The status area at the top of the screen contains fields indicating why and where the break/abend occurred. If an abend occurs, the ABEND CODE and the program status word (PSW) field are displayed. If a breakpoint has been reached, the abend code is STOP, and the CAUSE field contains the message PROGRAM STOP ENCOUNTERED.

The middle area contains the Assembler instruction for the break/abend and the contents of the registers at the time of the break/abend. The registers can be changed.

Once a break/abend is reached and noted, three options are available:

  • Resume the program, if a resume from abends is allowed.
  • Enter =X in the COMMAND field to return to CICS and continue testing.
  • End the session.

Input Fields

RESUME OFFSET/ADDRESS

Resumes program processing from a point other than that displayed. Type the desired resume offset or address into the field. Use the GO command to resume program execution or step through the program. When resuming from another location, the program must be capable of resuming from the location entered in the RESUME OFFSET/ADDRESS fields. For more information about the GO command, see to GO.

Registers 0 through 15

General Purpose Register contents that can be changed by typing over the current value and pressing Enter. You may also change the contents of General Purpose Registers 1 through 15 by first pressing EOF. The original value appears above the new contents. To restore the original value, position the cursor to the desired register field, press Erase EOF, then press Enter.

Output Fields

CICS APPLID

Name of the CICS system to which the user is connected.

CAUSE

Description of the reason 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 if an abend is intercepted. A STOP value identifies a program breakpoint. A STOR or FTCH value identifies a storage violation.

TERM

ID of the terminal at which the abend was intercepted.

NETNAME

VTAM network name associated with the terminal at which the abend was intercepted.

TRANS

CICS transaction code of this task.

INTERRUPT OFFSET/ADDRESS

Hexadecimal offset/address at which the program stopped. If no abend was intercepted, the offset is one of the breakpoints that had been previously set during the Code Debug CICS session.

PSW

PSW obtained from the system at the point that the abend was intercepted.

LAST CICS COMMAND

Offset of the last CICS command.

INSTRUCTION

Assembler instruction at which the break/abend was intercepted in both hexadecimal and interpreted formats.

 

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