Wednesday, March 11, 2009

How to analysis CEEDUMP from entry offset

We usually get a error in SYSOUT at run time like "From compile unit CHR09 at entry point CHR09 at compile unit offset +000004AC at entry offset +000004AC at address 37900FBC."
1. first step get the error message from +000004AC, if you didn't have SYSOUT, you also could get it from CEEDUMP file, search "Traceback" in the file, find the value of "PU Offset" after Traceback like following:
Traceback:
DSA Program PU PU Entry
Addr Unit Addr Offset
3798E158 CEEHDSP 153541C0 +000049D6 CEEHDSP
3798E030 CHR09 37900B10 +000004AC CHR09

2. Try to find the nearest lower line number from the compling list with "PU Offset".
LINE # HEXLOC VERB LINE # HEXLOC VERB
000025 00048A MOVE 000026 000490 INSPECT
000031 00052E MOVE 000032 000584 MOVE


Then you could find the statement line num in the source code.

COBOL INSPECT

1. Inspect statement, Note must initiate the Count field before using it, which cannot automatically set to zero.
01 COUNT-FIELD PIC S999 SIGN LEADING SEPARATE.

INSPECT WORK-FIELD TALLYING
COUNT-FIELD FOR CHARACTERS.