PRODAMP procedures providing a basis for automatic preanalysis are supplied as standard components of DAMP. The diagnosis steps carried out during analysis and the resultant diagnostic information
generate an internal list of referenced memory pages which are relevant for diagnosis,
produce a description of the cause of the error and of the error environment, and
attempt to pinpoint the error to a specific component (and, in the case of SLED and SNAP files, also to the error task).
The results of the preanalysis affect the way in which the dump is subsequently edited for printing: additional tables are output and the list is restricted to the error task.
Starting the preanalysis
for a list analysis (
START-LIST-GENERATION)
(see "Controlling list output in batch or procedure mode") orby calling a PRODAMP procedure with the statement
START-PRODAMP-PROGRAM NAME=DIAG
.
A SLED, SNAP or system dump must already be assigned with the OPEN-DAIGNOSIS-OBJECT
statement.
The relevant PRODAMP routines are supplied in the file $TSOS.SYSDMP.DAMP. When you start the PRODAMP routine DIAG with START-PRODAMP-PROGRAM
, you should ensure that this system PRODAMP library is assigned as the current user PRODAMP library. If necessary, you must assign the library with the ASSIGN-PRODAMP-LIBRARIES
statement. You can display the current setting with the SHOW-PRODAMP-LIBRARIES
statement.
Indexing, i.e. briefly describing the problem in hand in the form of a chain of descriptors (= descriptive keywords), is an established method for detecting duplicates. Automatic indexing of a problem with DAMP produces a string of such descriptors, which are output
on paper at the beginning of the output list (as part of the system overview) if preanalysis is performed within the context of a list evaluation.
on the terminal in EDT area 8, which can be accessed via the DAMP statement EDT and the EDT statement “[$]8”.
If preanalysis is called by means of START-PRODAMP-PROGRAM NAME=DIAG
, no implicit print editing is carried out.
Automatic preanalysis also attempts to allocate the problem in hand to an error component. If this error component belongs to the subsystem DMS (allocator, catalog management, open/close, tape processing, access methods other than ISAM), the descriptor “DMS” is placed in the descriptor string.
Location of the error component in the subsystem DMS also affects print editing: task-specific DMS tables are output in addition to the system tables of the standard list.
In the case of SLED and SNAP files, automatic preanalysis controls the scope of list editing if an unambiguous error task is detected (e.g. $CRASH or a program error in a pre-allocated task). During standard editing, task-specific evaluation of this task is then initiated.
Preanalysis for task-specific problems in SLED or SNAP files (e.g. for the tasks which, at the time of the SLED run, were displaying the query “DUMP desired? YES/NO
”) can be controlled via task selection in the list mask (DIAG=YES/NO). If this is done, the descriptor “TASK.ONLY” is included in the string.
Automatic preanalysis cannot reveal all problems correctly, nor can it carry out in-depth analysis of the ones it does detect. Particularly in the case of SLED analyses and, within these, in the case of deadlock problems, the results of automatic preanalysis will often be of little practical use.