Debugger starten

#### Search Results

Search

# Debugger starten

Dieser Abschnitt beschreibt Grundvoraussetzungen für den Betrieb und enthält eine grobe Richtlinie für die Vorgehensweise bei der Planung der Anwendung des Debuggers.

- Debugger unter Natural Security

- Voraussetzungen für den Betrieb

- Debugger aufrufen

- Standard-Objekt

## Debugger unter Natural Security

Die Benutzung des Debuggers kann durch Natural Security kontrolliert werden:

- Sie können den Debugger gegen nicht autorisierte Benutzung schützen, indem Sie den Gebrauch des Systemkommandos `TEST`, das den Debugger aufruft, unterbinden, siehe Command Restrictions im Abschnitt Library Maintenance in der Natural Security-Dokumentation.

- Sie können die Benutzung des Debuggers unterbinden oder einschränken, siehe Abschnitt Components of an Environment Profile in der Natural Security-Dokumentation.

## Voraussetzungen für den Betrieb

Der Debugger wird nur aufgerufen, wenn Sie ein katalogisiertes Objekt ausführen, das in der aktuellen Library in der aktuellen Natural-Systemdatei befindet. Der Debugger wird nicht aufgerufen, wenn Sie im Arbeitsbereich enthaltenen Quellcode mit dem Kommando `RUN` ausführen.

Ein effizientes und korrektes Debugging setzt voraus, dass der Quellcode im Source-Objekt mit dem kompilierten Quellcode im katalogisierten Objekt übereinstimmt, was mit dem Systembefehl `STOW` gewährleistet werden kann. Wenn Sie ein Source-Objekt ändern, nachdem Sie es katalogisiert haben, besteht die Möglichkeit, dass ein Debug-Eintrag (Breakpoint oder Watchpoint) nicht richtig funktioniert, weil sich das referenzierte Statement oder die referenzierte Variable geändert hat oder nicht mehr existiert. Wenn der Debugger feststellt, dass ein Source-Objekt einen früheren Zeitstempel hat als das entsprechende katalogisierte Objekt erscheint die Warnung `Time stamps of source and cataloged object do not match.` (Zeitstempel des Source-Objekts und des katalogisierten Objekts passen nicht zueinander).

Der Debugger untersucht alle Natural-Objekte, die in der aktuellen Library oder in einer ihrer Steplibs enthalten sind. Der Debugger untersucht keine Natural-Objekte, die in der Natural-System-Library `SYSLIB` oder `SYSLIBS` gespeichert sind.

Für die Verwendung des Debuggers gilt folgende Einschränkung:

- Der Debugger kann nur bei Objekten der Natural-Version 2.3 und höher, jedoch nicht bei Natural-Objekten, die mit einer früheren Version katalogisiert wurden, angewendet werden.

  Der Debugger unterstützt nur Debug-Umgebungen, die mit Natural-Version 2.3 und höher erstellt wurden. Debug-Umgebungen, die mit einer früheren Version erstellt wurden, werden ignoriert. Weitere Informationen zu Debug-Umgebungen siehe Debug Environment Maintenance (Verwaltung der Debug-Umgebung).

### Batch-Verarbeitung

Obwohl der Debugger hauptsächlich für den interaktiven Gebrauch im Online-Modus ausgelegt ist, können die Debugger-Kommandos auch zur Batch-Ausführung benutzt werden, z.B. zum Setzen von Breakpoints oder Watchpoints.

Anmerkung
Bei der Batch-Verarbeitung gelten Einschränkungen, die zur Folge haben können, dass ein Debugger-Kommando zurückgewiesen wird. Beispielsweise unterstützt der Debugger nicht die Kommandos `++` und `+4`.

#### Beispiel für das Erstellen und Drucken von Statistiken im Batch-Modus

Das folgende Beispiel demonstriert den Gebrauch von Debugger-Direktkommandos im Batch-Modus, um einen Bericht über alle Aufrufstatistiken zu erstellen und zu drucken:

    //NATBATCH EXEC PGM=NATBAT42,
    //   PARM=('INTENS=1,IM=D,CF=$,PRINT=((1-2),AM=STD)')
    //STEPLIB  DD DISP=SHR,DSN=NATURAL.V2.TEST.NUCLEUS
    //CMPRINT  DD SYSOUT=X
    //SYSOUT   DD SYSOUT=X
    //CMPRT01  DD SYSOUT=X
    //CMSYNIN  DD *
    LOGON DEBUGLIB
    TEST PROFILE
    ,,,,CMPRT01
    ,,,,,,$K3
    ,,$K3
    TEST ON
    TEST SET XSTAT COUNT
    DEBUG2P
    TEST PRINT XSTAT
    FIN
    /*

## Debugger aufrufen

Um den Debugger aufzurufen:

1. Erstellen Sie eine Debug-Umgebung für ein Natural-Objekt oder eine Natural-Anwendung:

   - Rufen Sie das Hauptmenü Debug Main Menu auf, indem Sie das Natural-Systemkommando `TEST` eingeben.

     Oder:
     Setzen Sie aus einer laufenden Anwendung das Terminalkommando `%<TEST` ab.

   - Benutzen Sie die Funktionen des Hauptmenüs Debug Main Menu, um für ein Natural-Objekt oder eine Natural-Anwendung anzugeben:

     Debug Environment Maintenance (Verwaltung der Debug-Umgebung)
     Spy Maintenance (Verwaltung der Debug-Einträge)
     Breakpoint Maintenance (Verwaltung der Breakpoints)
     Watchpoint Maintenance (Verwaltung der Watchpoints)
     Call Statistics Maintenance (Statistiken über gerufene Objekte)
     Statement Execution Statistics Maintenance (Statistiken über ausgeführte Statement-Zeilen)
     Variable Maintenance
     List Object Source

2. Aktivieren Sie den Debugger:

   - Geben Sie an einer Eingabeaufforderung das Kommando `TEST ON` ein.

     Oder:
     Geben Sie im Hauptmenü Debug Main Menu den Funktionscode `T` ein.

3. Führen Sie das Natural-Objekt oder die Natural-Anwendung aus.

   Der Debugger hält die Programmausführung an den angegebenen Debug-Einträgen an und ruft das Debug Break-Fenster auf.

Um den Debugger zur Fehlerbehandlung aufzurufen:

- Setzen Sie zu Beginn der Sitzung den Natural-Profilparameter `DBGERR` auf `ON`.

  Siehe auch DBGERR - Automatischer Debugger-Start bei Laufzeitfehler in der Natural-Parameter-Referenz-Dokumentation.

  Oder:
  Geben Sie während der Sitzung an einer Eingabeaufforderung das Kommando `TEST ON` ein oder geben Sie in einem Debug Maintenance-Hauptmenü den Funktionscode `T` ein.

  Der Debubber ruft das Debug Break-Fenster auf, wenn ein Natural-Fehler auftritt.

Siehe auch Abschnitt Fehlerbehandlung.

## Standard-Objekt

Die Maintenance-Funktionen des Debuggers, wie sie in den entsprechenden Abschnitten beschrieben sind, beziehen sich auf Objekte, die Sie entweder in den entsprechenden Namensfeldern von Menüs oder mit Direktkommandos angeben. Wenn Sie keinen Objektnamen angeben, nimmt der Debugger standardmäßig den Namen des aktuellen Objekts an, wie er im Feld Object oben rechts im Hauptmenü Debug Main Menu angezeigt wird. Bei Angabe eines Standardobjekts, ist kein Objektname in Direktkommandos und Menüoptionen erforderlich, die zur Angabe von Breakpoints oder Watchpoints verwendet werden. Um das Standardobjekt zu ändern, siehe Syntax des Kommandos `SET` im Abschnitt Debug-Kommandoübersicht und -syntax.

### On this page

- Debugger unter Natural Security
- Voraussetzungen für den Betrieb
- Debugger aufrufen
- Standard-Objekt