COBOL Manual for TNS/E Programs (H06.03+)

Run-Time Diagnostic Messages
HP COBOL Manual for TNS/E Programs520347-003
48-4
Abend
The three most common causes of Guardian abnormal termination messages are:
Abend (abnormal termination)
Arithmetic Overflow
Stack Overflow
These topics explain abnormal termination messages and describe what to do if they
occur.
Abend
Abend is short for “abnormal end.” It follows any fatal error message that the run-time
routines generate. If it appears without a run-time diagnostic message, you might want
to execute the run unit again with the SAVEABEND attribute set so that the selected
debugger makes a save file. You might also want to recompile with SYMBOLS and
INSPECT directives, and then execute with SAVEABEND so that you can make easier
use of the save file.
Arithmetic Overflow
Arithmetic overflow means that an arithmetic operation resulted in an arithmetic
overflow. Typical causes include:
Invalid data is associated with an item, such as an uninitialized USAGE
COMPUTATIONAL or index item.
A receiving item in an arithmetic statement is too small.
An intermediate result in a COMPUTE statement exceeds the 36-digit maximum.
A USAGE COMPUTATIONAL operand in an arithmetic statement contains a
number larger than the number of digits specified in the PICTURE clause for that
item.
A subscript or a reference modifier is too big.
You can determine the cause of arithmetic overflow in any of these ways:
Without the Debugger
This method is recommended for production runs.
If the PARAM INSPECT OFF command is active, the process stops executing with
a trace-back to the highest-level program. The first item in the trace-back is the
offset within the program of the statement that caused the problem. To find the
statement itself, compile the program with the INNERLIST directive. Except for
adding the INNERLIST directive, compile the program with exactly the same
directives as you did before the problem occurred. (Some directives, such as
SYMBOLS, can slightly change the generated code.)