Beim Testen auf symbolischer Ebene erlaubt es AID, Datenfelder, Kapitel und Paragrafen
mit den in der Übersetzungseinheit definierten Namen anzusprechen und sich auf Anweisungszeilen und einzelne COBOL-Verben in der PROCEDURE DIVISION zu beziehen. Dafür müssen AID Informationen über diese symbolischen Namen zur Verfügung gestellt werden. Diese Informationen gliedern sich in zwei Teile,
die LSD (List for Symbolic Debugging), in der die im Modul definierten symbolischen Namen und Anweisungen verzeichnet sind und
das ESD (External Symbol Dictionary), das die Externbezüge eines Moduls registriert.
Die Erzeugung bzw. Weitergabe dieser Informationen wird durch entsprechende Operanden im Aufrufkommando bzw. in der Steueranweisung bei jedem der folgenden Schritte veranlasst oder unterdrückt:
Übersetzen mit COBOL2000
Binden und Laden mit dem Dynamischen Bindelader oder
Binden mit dem Statischen Binder und
Laden mit dem Statischen Lader
Dabei werden ESD-Informationen standardmäßig generiert und weitergegeben, während die LSD-Informationen AID auf zwei Wegen zugänglich gemacht werden können: Nachdem sie bei der Übersetzung erzeugt worden sind, ist es möglich,
sie zusammen mit dem Gesamtprogramm zu laden oder
sie erst bei Bedarf für jede Übersetzungseinheit nachzuladen, falls die zugehörigen Module in einer PLAM-Bibliothek stehen.
Die folgende Tabelle gibt für beide Fälle einen Überblick über die Operanden, die zur Erzeugung und Weitergabe der LSD-Informationen angegeben werden müssen.
Schritte in der | Operanden - Angabe | |
wenn die LSD-Information zusammen mit dem Gesamtprogramm geladen werden soll | wenn später die LSD-Information durch AID nachgeladen werden soll 1) | |
Übersetzen mit COBOL20002) | TEST-SUPPORT=AID() | TEST-SUPPORT=AID() |
Binden und Laden mit dem Dynamischen Bindelader | LOAD-PROGRAM ..., | LOAD-PROGRAM ..., |
Binden mit TSOSLNK | PROGRAM...,SYMTEST=ALL | PROGRAM...[,SYMTEST=MAP] |
Laden bzw. Laden und Starten mit dem Statischen Lader | LOAD-PROGRAM ..., | LOAD-PROGRAM ..., |
Tabelle 11: Operanden zur Erzeugung von LSD-Informationen
1) Dies ist nur dann möglich, wenn die zugehörigen Module in einer PLAM-Bibliothek stehen.
2) Bei Verwendung der COMOPT GEN-SHARE=YES bzw. der SDF-Option SHARE-CODE=YES werden beim Debuggen für den Trace nur Statements aus dem Code- oder Datenmodul aufgelistet.