Using the Abend Diagnostic Report (ADR)

When you create an Abend Diagnostic Report to analyze the cause of an abnormal program shutdown, the report is divided into three sections:

  1. The first contains general information about the program, such as command-line parameters, the reason for the shutdown, and the line number of the operation that caused the shutdown.

    This section of the report appears as follows:

    Dump created: Tue Dec 28 15:00:32 2006
    
    Reason for dump:
    Index out of bounds, upper bound = 10, index = 11
    COBOL error at 000014 in TwoTables.acu
    ("TwoTables.cbl", line 42)
    
    Runtime version: 8.0.0 (2006-12-23)
    Command line arguments: -c Cfg.txt TwoTables.acu
  2. The second section contains a call stack summary for each thread being run, including information about inactive programs. Inactive programs are those programs which have been loaded into memory but which are not currently executing.
    Process ID: 1128
    
    1 thread(s) active
    
    ** Thread 487 **
    Call stack:
    000014 TwoTables.acu
    
    Inactive programs:
    (none)
  3. The third and largest section contains detailed information about each program, including the value of all data items. Programs are listed in CALL order, starting with the program executing at the time of shutdown and working backward to the start of the thread (usually the main program).
    • All data items and their values are listed in the order they are declared in the program.
    • Group items are named, but have the phrase (group) listed as their value to avoid duplicate information in the report.
    • Individual elements in a group are listed with their values.
    • Table items are expanded to show each element of the table.
    • Data is shown in both the appropriate numeric/non-numeric format and as raw hexadecimal data.
    • The compile options used to generate the object file.
      *** DETAIL FOR THREAD 487 ***
      
      *** PROGRAMS IN THE CALL STACK ***
      
      *** PROGRAM "TwoTables.acu" ***
      
      Current address: 000014
      
      01 ONE-TOO-MANY                   = 11             h30303031 31
      
      01 MY-TABLE                       = (group)
      05 FILLER                         = "    1"        h20202020 31
      05 FILLER                         = "    2"        h20202020 32
      .
      .
      .
      00 SPECIAL REGISTERS              = ""             h
      
      *** END OF PROGRAM "TwoTables.acu" ***
      
      *** END OF THREAD 487 ***
      
      *** END OF DUMP ***