Anfang des Inhaltsbereichs

Funktionsdokumentation Breakpoints  Dokument im Navigationsbaum lokalisieren

Verwendung

Breakpoints dienen zur Unterbrechung der Programmausführung. Sie können Breakpoints entweder im ABAP Editor oder im neuen Debugger setzen. Im ersten Fall verwenden Sie den Breakpoint als Signal an einer bestimmten Stelle im Programm, das den ABAP-Laufzeitprozessor anweist, die Verarbeitung zu unterbrechen und den Debugger zu starten. Im zweiten Fall führen Sie das Programm direkt im Debugger aus und setzen die Breakpoints im Debugging-Modus.

Funktionsumfang

Es gibt zwei verschiedene Arten von Breakpoints.

...

Statische Breakpoints

Statische Breakpoints sind nur in der Entwicklungsphase einer Anwendung sinnvoll, wenn die Programmausführung stets an der gleichen Stelle unterbrochen werden soll. Solche statischen Haltepunkte werden von einer ABAP-Anweisung im Quelltext gesetzt und sind von einem der folgenden Typen:

      Benutzerunabhängig

Benutzerunabhängige Breakpoints werden mit dem ABAP-Schlüsselwort BREAK-POINT eingefügt. Sie gelten für alle Benutzer und müssen daher nach Abschluss der Entwicklungsphase aus dem Quelltext gelöscht werden.

      Benutzerabhängig

Benutzerabhängige Breakpoints werden mit dem ABAP-Schlüsselwort BREAK-POINT <BENUTZERNAME> eingefügt. In diesem Fall unterbricht das System die Programmausführung nur, wenn der angegebene Benutzer das Programm laufen lässt. Nach Abschluss der Entwicklungsphase müssen benutzerabhängige Breakpoints aus dem Quelltext gelöscht werden; anderenfalls werden sie in das Produktivsystem transportiert.

      Gruppenabhängig

Gruppenabhängige Breakpoints werden mit dem ABAP-Schlüsselwort BREAK <CHECKPOINT_GROUP> eingefügt. In diesem Fall unterbricht das System die Programmausführung nur, wenn die angegebene Checkpoint-Gruppe aktiv ist.

Weitere Informationen finden Sie unter Aktivierbare Checkpoints.

Dynamische Breakpoints

Dynamische Breakpoints sind benutzerabhängig. Sie verwenden solche Haltepunkte, wenn Sie das Programm während des Laufs unterbrechen möchten.

Dynamische Breakpoints sind flexibler als statische Breakpoints, da sie zur Laufzeit angelegt, deaktiviert oder gelöscht werden können. Wenn Sie dynamische Breakpoints verwenden, müssen Sie den Quelltext nicht verändern. Sie können solche Haltepunkte selbst dann setzen, wenn das Programm gerade durch einen anderen Benutzer gesperrt ist. Außerdem können Sie einen Zähler definieren, der den Breakpoint nur aktiviert, wenn er nach einer bestimmten Anzahl von Durchläufen erreicht wird.

Je nachdem, wo Sie die Breakpoints anlegen, werden folgende Typen unterschieden:

      Im ABAP Editor angelegte Breakpoints

Im ABAP Editor können Sie folgende Arten von Breakpoints anlegen:

       Session-Breakpoints

Session-Breakpoints sind für alle Hauptmodi einer Benutzersitzung gültig. Sie bleiben unabhängig davon, ob der Debugger läuft, aktiv.

Hinweis

Sie können Session-Breakpoints in einem Hauptmodus einer Benutzersitzung setzen. Diese Breakpoints sind in allen anderen Hauptmodi derselben Benutzersitzung nach der nächsten Benutzereingabe aktiv. Um ein bereits laufendes Programm in den Debugger zu zwingen, wenn dieser in derselben Benutzersitzung läuft, muss der von Ihnen gesetzte Breakpoint sofort aktiviert werden. Wählen Sie dazu im ABAP Editor Hilfsmittel Einstellungen ABAP Editor  Debugging und markieren Sie das Ankreuzfeld Session-Breakpoint sofort aktiv.

Es wird davon abgeraten, diese Funktion in Produktivsystemen zu benutzen.

       Externe Breakpoints

Externe Breakpoints gelten für alle Benutzeranmeldungen auf dem aktuellen Server des aktuellen Systems. Sie werden deshalb auch als User-Breakpoints bezeichnet. Sie sind jedoch nur zwei Stunden lang gültig.

Externe Breakpoints werden speziell benötigt, wenn Sie BSP- oder Web-Dynpro-Anwendungen debuggen. Alle Breakpoints müssen schon vor der Anmeldung gesetzt werden.

      Im neuen Debugger angelegte Breakpoints

Wenn Sie einen Breakpoint im klassischen Debugger setzen, wird er standardmäßig als Debugger-Breakpoint angelegt. Ein Debugger-Breakpoint ist nur solange gültig, wie die Debugger-Instanz aktiv ist, in der er gesetzt wurde. Wird der Debugger geschlossen, so werden alle Debugger-Breakpoints gelöscht.

Sie können Debugger-Breakpoints in bestimmten Zeilen setzen oder mehrere Breakpoints gleichzeitig an Stellen wie Anweisungen, Ausnahmen oder Stack-Änderungen definieren. Wenn Sie z.B. Breakpoints bei der SELECT-Anweisung definieren, setzt das System bei jedem Vorkommen dieser Anweisung einen Breakpoint.

Innerhalb des Debuggers legen Sie Debugger-Breakpoints an, aber Sie können sie als Session- oder externe Breakpoints sichern.

 

Ende des Inhaltsbereichs