Debugging DEBUG

Printing An Online Dump

If you get an ABEND on the Test or Production IDMS systems, a dump will be printed on the IDMS log. If you would like to see the dump, tell a DBA group member the time of day that the ABEND occurred, and he/she will print it out for you. Or use TSO option DB to print it.

Navigating An ADS Dump

  1. Find User Register 9 at the beginning of the dump. It contains the address of the OTB. Go to OTB.
  2. OTB - Online Terminal Block. The dialog is found at offset 04. Add hex '1C' to the contents of Register 9 to get the address of the address of the address of the current VDB. Go to the VDB.
  3. VDB - Variable Dialog Block. Add hex '20' to the beginning of the VDB to get the offset of the current CME from the FDB (Fixed Dialog Block). Find this offset in the ADSORPTS FDB listing of the dialog. Then locate the statement in in the process itself.
  4. Records - are in the RBB area, which can be found by scanning the right-hand side of the dump for 'RDB'. Find the record name you want by scanning within the RBB area. Add hex '28' to the address of the record name to locate the beginning of the record data.

EBCDIC CONVERSION

            Hex   Char   Hex   Char      Hex   Char   Hex   Char 
             C1     A    D1     J                      F0    0
             C2     B    D2     K         E2     B     F1    1
             C3     C    D3     L         E3     B     F2    2 
             C4     D    D4     M         E4     B     F3    3
             C5     E    D5     N         E5     B     F4    4
             C6     F    D6     O         E6     B     F5    5
             C7     G    D7     P         E7     B     F6    6
             C8     H    D8     Q         E8     B     F7    7
             C9     I    D9     R         E9     B     F8    8
                                                       F9    9

HEXADECIMAL CONVERSION
             Bits   Hex   Decimal      Bits   Hex   Decimal 
             0000   00       0         1001   09       9
             0001   01       1         1010   0A       10 
             0010   02       2         1011   0B       11
             0011   03       3         1100   0C       12
             0100   04       4         1101   0D       13
             0101   05       5         1110   0E       14
             0110   06       6         1111   0F       15
             0111   07       7         10000  10       16
             1000   08       8         10001  11       17

Abend Handling

If you should receive an abend on online Test IDMS, these are some of the steps to take in resolving the problem:
  1. Note the time of day that the abend occurred so that you won't have to repeat it in case a log dump is needed.
  2. Look up the abend code in the IDMS Error Codes and Messages manual. Often this alone will give you enough information to correct the problem.
  3. Regenerate the dialog with SYMBOL TABLE YES, DIAGNOSTIC YES and re-execute the dialog. It should display the statement in error.
  4. If you need more information to solve the problem, execute the dialog as follows: ADS dialogname TRACE=ALL. This will write a trace of the program to the log. Then execute task OLP to look at the log online or TSO option DB to print the trace.
  5. Be very careful to distinguish between D002 and D004 abends. A D002 abend is a general purpose abend code while a D004 abend is a runaway task, meaning that your dialog is probably in a loop. Do not rerun a dialog if it gets a D004 abend.

Abends are to be expected on the test system because programs are in the process of being debugged. However, too many abends can slow down everyone's work. When a program abends, IDMS must (1) read the journal file records to apply the before-images to the database, and (2) write a dump to the IDMS log, which takes several seconds and prevents other messages from being written until it finishes. If several dumps occur in rapid succession, the log may completely fill up before the archive job can empty it. When this happens, IDMS stops all work until the log is empty.


table of contents prev page next page