For debugging at a symbolic level, AID permits data items, sections, and paragraphs to be addressed using the names defined in the compilation unit. It also permits statement lines and individual COBOL verbs in the Procedure Division to be referenced. Consequently, AID must be provided with the appropriate information on these symbolic names. This information can be subdivided into two parts:
the List for Symbolic Debugging (LSD), in which the symbolic names and statements defined in the module are cataloged, and
the External Symbol Dictionary (ESD), which records a module’s external references.
Generation or transfer of this information is initiated or suppressed by means of appropriate operands in the call command or control statement at each of the following stages:
compilation with COBOL2000
linking and loading with the dynamic binder loader (DBL) or
linking with the static linkage editor (TSOSLNK) and
loading with the static loader (ELDE)
The ESD information is generated and transferred as standard, whereas the LSD information can be made accessible to AID in two ways. After it has been generated at compile time, this information can be:
loaded together with the entire program, or
dynamically loaded for each compilation unit as necessary, provided the associated object modules are available in a PLAM library.
For each of these cases, the following table provides an overview of the operands that need to be specified in order to generate and transfer the LSD information.
Stages in the | Operands to be specified | |
if the LSD information is to be loaded jointly with the entire program | if the LSD information is to be dynamically loaded by AID at a later stage 1) | |
Compile with COBOL20002) | TEST-SUPPORT=AID() | TEST-SUPPORT=AID() |
Link and load with the dynamic binder loader | LOAD-PROGRAM ..., | LOAD-PROGRAM ..., |
Link with TSOSLNK | PROGRAM...,SYMTEST=ALL | PROGRAM...[,SYMTEST=MAP] |
Load or load and start with the static loader | LOAD-PROGRAM ..., | LOAD-PROGRAM ..., |
Table 11: Operands for generating LSD information
1) | This is possible only if the associated modules reside in a PLAM library. |
2) | If the COMOPT GEN-SHARE=YES or the SDF option SHARE-CODE=YES is specified, only statements from the code or data module are listed for the trace when debugging. |