Mithilfe eines Builddeskriptors können einige Aspekte der Debugumgebung bestimmt werden.
Details zu Rich UI finden Sie unter
Debugging für Rich-UI.
Andernfalls wählt der EGL-Debugger den Builddeskriptor anhand der folgenden Regeln aus:
- Falls Sie für Ihr Programm oder Ihren JSF-Handler einen Builddeskriptor für das Debug angegeben haben, verwendet der EGL-Debugger diesen Builddeskriptor. Details zur Erstellung eines Builddeskriptors für das Debug
finden Sie unter Standardbuilddeskriptoren definieren.
- Haben Sie keinen Builddeskriptor für das Debug angegeben, fordert Sie der EGL-Debugger auf, eine Auswahl in einer Liste der Builddeskriptoren zu treffen.
- Fehlen für den angegebenen Builddeskriptor erforderliche Datenbankverbindungsinformationen, ruft der EGL-Debugger die Verbindungsinformationen aus Ihren Vorgaben ab. Details über das Festlegen dieser Vorgaben finden Sie unter Benutzervorgaben für SQL-Datenbankverbindungen definieren.
Falls Sie das Debug für ein Programm ausführen, das Sie in einer
Java™-Umgebung in einer Text- oder Stapelanwendung einsetzen wollen, und dieses Programm eine Anweisung transfer ausgibt, mit der die Steuerung an ein Programm
übergeben wird, das Sie ebenfalls in einer anderen Ausführungseinheit
einer Java-Umgebung nutzen wollen, verwendet der EGL-Debugger einen Builddeskriptor, der dem empfangenden Programm zugewiesen ist. Die Auswahl des Builddeskriptors basiert auf den zuvor beschriebenen Regeln.
Falls Sie das Debug für ein Programm ausführen, das von einem anderen Programm aufgerufen wird, verwendet der EGL-Debugger den Builddeskriptor, der dem aufgerufenen Programm zugewiesen ist. Die Auswahl des Builddeskriptors erfolgt anhand der zuvor beschriebenen Regeln, allerdings mit einer Ausnahme: Falls Sie keinen Builddeskriptor angegeben haben, fordert der Debugger Sie nicht zur Angabe eines Builddeskriptors auf, wenn das aufgerufene Programm aufgerufen wird. Stattdessen wird weiterhin der Builddeskriptor des aufrufenden Programms verwendet.
Anmerkung: Sie müssen für das aufrufende und das aufgerufene Programm unterschiedliche Builddeskriptoren verwenden, falls eines der Programme (jedoch nicht beide) die Kompatibilität mit dem
VisualAge-Generator nutzt. Der Status der VisualAge-Kompatibilität zur Generierungszeit wird anhand des Wertes der Builddeskriptoroption vagCompatibility festgestellt.
Für das Code-Debug kann ein anderer Builddeskriptor oder Ressourcenzuordnungsabschnitt verwendet werden als für die Generierung von Code. Wollen Sie beispielsweise aus einem Programm, das für eine COBOL-Umgebung geschrieben ist, auf eine VSAM-Datei zugreifen, werden Sie wahrscheinlich im Builddeskriptor auf einen Ressourcenzuordnungsabschnitt verweisen. Der Ressourcenzuordnungsabschnitt muss auf das Laufzeitzielsystem (z. B. z/OS)
sowie auf einen Dateityp (z. B. 'vsamrs') verweisen, der für das Zielsystem geeignet ist. Die Debugsituation unterscheidet sich folgendermaßen von der Generierungssituation:
- Bei der Generierung gibt der Ressourcenzuordnungsabschnitt den Systemnamen der Datei an, die in der Zielumgebung verwendet wird.
- Beim Debug muss der Systemname eine weitere Namenskonvention für den Zugriff auf eine ferne VSAM-Datei aus einem mit EGL generierten Java-Programm unter Windows 2000, NT oder XP berücksichtigen. Details über diese Namenskonvention können Sie den VSAM-Unterstützungsdokumenten entnehmen.
Beim Debug verwendeter Systemtyp
Der Wert in
sysVar.systemType ist derselbe Wert wie in der
Builddeskriptoroption
system. In den beiden folgenden Fällen lautet der Wert jedoch DEBUG:
- Sie wählen die Vorgabe systemType auf DEBUG setzen aus
(siehe Benutzervorgaben für den EGL-Debugger definieren).
- Sie haben ungeachtet des Wertes dieser Vorgabe für den Builddeskriptor, der während der Debugsitzung verwendet werden soll, die Einstellung NONE (= Kein) angegeben.
Falls Sie den Kompatibilitätsmodus für den VisualAge-Generator
verwenden, gibt die Systemfunktion vgLib.getVAGSysType das Äquivalent
des VisualAge-Generators für den Wert
in sysVar.systemType zurück.
Details können Sie der Tabelle in getVAGSysType() entnehmen.