Compileroptionen TEST oder NOTEST für C++-Programme auswählen

In diesem Abschnitt werden die verfügbaren Debugging-Szenarios beschrieben und es wird gezeigt, wie ein bestimmtes Debugging-Szenario erstellt wird, indem die richtigen TEST-Compilerunteroptionen ausgewählt werden.

Der C++-Compiler stellt die Compileroption TEST und ihre Unteroptionen zur Steuerung der Generierung und Platzierung von Hooks und Symboltabellen bereit.

z/OS® Debugger unterstützt das Debugging optimierter C + + -Programme nicht. Verwenden Sie nicht andere Compileroptionen als NOOPTIMIZE.

Die folgenden Anweisungen helfen Ihnen bei der Auswahl der Kombination von TEST-Compilerunteroptionen, die die Funktionalität bereitstellen, die Sie zum Debuggen Ihres Programms benötigen:

  1. Wählen Sie in der folgenden Liste ein Debugging-Szenario aus und berücksichtigen Sie dabei die Ressourcen an Ihrem Standort:
    • Szenario A: Verwenden Sie TEST, um die gesamte Funktionalität von z/OS Debugger zu erhalten, aber im Vergleich zur Verwendung von DEBUG(FORMAT(DWARF))eine größere Programmgröße zu haben.
    • Szenario B: Sie können einige Funktionen von z/OS Debugger nutzen, indem Sie mit der Compileroption NOTEST kompilieren. Dafür ist es erforderlich, das Debugging für das Programm im Modus für Disassemblierung durchzuführen.
    • Szenario C: Wenn Sie Programme debuggen, die in ALCS ausgeführt werden, müssen Sie mit der Unteroption HOOK der Compileroption TEST kompilieren.

    Wenn Sie andere Tools von Application Delivery Foundation for z/OS verwenden, lesen Sie für alle Szenarien den Abschnitt IBM® Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide , um sicherzustellen, dass Sie alle Compileroptionen angeben, die Sie zum Erstellen der Dateien benötigen, die für alle Tools von Application Delivery Foundation for z/OS erforderlich sind.

  2. Überprüfen Sie, ob Sie eine der folgenden Tasks ausführen müssen:
    • Wenn Sie ein Programm kompilieren, ordnen Sie SYSIN nicht einer datenstrominternen Datei zu (z. B. // SYSIN DD *), da z/OS -Debugger Zugriff auf eine permanente Datei für die Quelle des Programms benötigt, das Sie debuggen.

    • Die Compileroption TEST in C++ gibt implizit die Compileroption GONUMBER an, die bewirkt, dass der Compiler Zeilennummerntabellen generiert, die der Eingabequellendatei entsprechen. Sie können diese Option explizit entfernen, indem Sie NOGONUMBERangeben. Wenn die Optionen TEST und NOGONUMBER zusammen angegeben werden, zeigt z/OS Debugger die aktuelle Ausführungszeile beim schrittweisen Durchgehen Ihres Codes nicht an.
    • Programme, die sowohl mit der Compileroption TEST als auch mit der Compileroption OPT(1) oder OPT(2) kompiliert werden, haben keine Hooks an Zeilen-, Block- und Pfadpunkten oder generieren eine Symboltabelle. Für optimierte Programme werden nur Hooks für Funktionseingangs- oder -exitpunkte generiert.

Nachdem Sie die Compileroptionen und Unteroptionen ausgewählt haben, lesen Sie den Abschnitt Debugsitzung planen , um die nächste auszuführende Task zu bestimmen.

Tabelle 1. Beschreibung der Auswirkungen der C + + -Compileroption NOTEST und TEST auf z/OS Debugger.
Name der Compileroption oder Unteroption Beschreibung der Auswirkungen
NOTEST

Die folgende Liste erläutert die Auswirkungen des NOTEST -Compilers auf das Verhalten von z/OS Debugger , die nicht im z/OS XL C/C++ Benutzerhandbuchbeschrieben sind:

  • Programmanweisungen können nicht schrittweise ausgeführt werden. Sie können die Ausführung des Programms nur bei der Initialisierung der Hauptkompilierungseinheit aussetzen.
  • Sie können Programmvariablen nicht auswerten oder verwenden.
  • Sie können Speicher und Register auflisten.
  • Sie können den z/OS Debugger -Befehl GOTOnicht verwenden.
Sie können das Debugging für das Programm aber auch unter Verwendung der Disassemblierungsansicht durchführen. Informationen zur Verwendung der Disassemblierungsansicht finden Sie unter Debugging eines disassemblierten Programms.
TEST

In der folgenden Liste werden die Auswirkungen des TEST -Compilers auf das Verhalten von z/OS Debugger erläutert, die nicht im z/OS XL C/C++ Benutzerhandbuchbeschrieben sind:

  • Die maximale Zeilenanzahl in einer einzelnen Quellendatei darf den Wert 131.072 nicht überschreiten.
  • Die maximale Anzahl der Include-Dateien mit ausführbaren Anweisungen darf den Wert 1024 nicht überschreiten.

In den folgenden Themen finden Sie zugehörige Informationen zu dem im vorliegenden Thema dargestellten Material:

  • Zugehörige Referenzen
  • Beschreibung der Compileroption TEST im z/OS XL C/C++ Benutzerhandbuch