Previous Topic: Dump Analysis with CA SymDumpNext Topic: PL/I Advanced Demo Session


INTC--Example

Suppose a program not being monitored by CA InterTest for CICS abends with an ASRA. With CA SymDump, you can select Abend analysis display and frequently identify the problem immediately. In the following screen, you can see that abend analysis gives abending instruction and operands—even without symbolics.

‑‑‑‑‑‑‑‑‑‑‑‑CA SymDump for CICS Release 9.1.00 ABEND ANALYSIS ‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ COMMAND ===> Type S to display main storage at the data location address. Prog: PLIDEMO Code: ASRA Tran: DEMP Appl: A01IC9NL Date: 11/28/2000 User: CICSUSER Task: 00094 Term: G001 Node: A55TG001 Time: 12:04:06 Data Type Location Value Abended by Operating system Abend type Program check, data exception (0C7) Abend in CSECT PLIDEMO1 + 00000536 AMODE, EXECKEY 31, USER PSW at time of abend 078D0E00 8C1068EC 00060007 0B99A000 _ Abending instruction 0C1068E6 FA20D5DD3334 AP X'5DD'(3,R13),X'334'(1,R3) Add decimal instruction _ Operand 1 storage 0BA0A46D 000000 Invalid packed decimal data _ Operand 2 storage 0C108A1C 1C Packed decimal data PF1 Help 2 3 End 4 Return 5 6 PF7 Backward 8 Forward 9 10 11 12

The Abend Analysis identifies exactly why and where the abend occurred. It gives the abending instruction and storage values for each operand of the instruction. Abend analysis information is available whether or not you have symbolics available for the abending program.

In the previous example, the description of Operand 1 tells you its storage value is invalid for its data type. It should be a packed decimal. Using this display only, you know what triggered the ASRA!

If you get symbolics for the abending program (either before or after the abend) you can select the Source display and see the breakpoint at the statement that triggered the abend. This is available even though CA InterTest for CICS was not active in the region when the abend occurred.

CA InterTest for CICS Release 9.1.00 ‑ PROTSYM FILE SOURCE LISTING DUMP ANALYSIS COMMAND ===> Program= PLIDEMO Option # Stmt # Margin= 01 Search= ‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑ _ CONTINUE_TASK: _ MAPNUM = '00'; A ==> 1 0 TASKNUM = TASKNUM + 1; ==> ==> ABEND/DUMP CODE: ASRA ==> ==> Press PF1 for a detailed description. ==> _ 96 1 0 IF TASKNUM > 2 THEN _ GOTO END_SESSION; _ 97 1 0 IF TASKNUM = 1 THEN _ GOTO SENDSCR3; _ 98 1 0 GOTO END_SESSION; _ 99 1 0 SENDSCR3: /** ASRA CONGRATULATION SC _ /* EXEC CICS SEND MAP('DASRA') _ MAPSET('IN25PMP') _ WAIT _ ERASE */

Now you can use CA InterTest for CICS features to solve the problem. In this example, you already know the contents of TASKNUM are invalid from the Abend Analysis display. However, if you need to, you can display the contents of any data item. You might want use the backtrace facility to trace the program's execution path, or you might want to inspect the file. CA InterTest for CICS provides all the tools you need to diagnose and resolve the dump.

Because CA SymDump works just like CA InterTest, there is no learning curve. For complete information, see the CA SymDump for CICS User Guide.