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 klassischen 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.

Dynamische Breakpoints

Dynamische Breakpoints sind benutzerabhängig. Sie verwenden solche Haltepunkte ausschließlich, wenn Sie das Programm nur dann unterbrechen möchten, wenn Sie es selbst ausführen. Alle dynamischen Breakpoints werden automatisch gelöscht, sobald Sie sich vom SAP-System abmelden.

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 durch einen anderen Benutzer gerade 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. Damit können Sie ein laufendes Programm in den Debugger zwingen, wenn dieser in derselben Benutzersitzung läuft. Damit dies möglich ist, wählen Sie im ABAP Editor Hilfsmittel Einstellungen ABAP Editor Debugging und markieren das Ankreuzfeld Session-Breakpoint sofort aktiv.

       Externe Breakpoints

Externe Breakpoints gelten für alle Benutzeranmeldungen auf dem aktuellen Server des aktuellen Systems. Sie sind jedoch nur zwei Stunden lang gültig.

Externe Breakpoints werden speziell benötigt, wenn Sie BSP- oder Web-Dynpro-Anwendungen debuggen. In diesen Fällen können Sie sich über die SAP GUI oder einen Browser anmelden. Daher muss der Breakpoint schon vor der Anmeldung gesetzt werden.

      Im klassischen 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 folgende Arten von Breakpoints anlegen:

       Einzelne Debugger-Breakpoints

       Breakpoints bei Anweisungen

Der Debugger unterbricht das Programm unmittelbar, bevor die angegebene Anweisung ausgeführt wird.

       Breakpoints bei Unterprogrammen

Der Debugger unterbricht das Programm unmittelbar, bevor ein Unterprogramm aufgerufen wird.

       Breakpoints bei Funktionsbausteinen

Der Debugger unterbricht das Programm unmittelbar, bevor ein Funktionsbaustein aufgerufen wird.

       Breakpoints bei Methoden

Der Debugger unterbricht das Programm unmittelbar, bevor eine Methode aufgerufen wird..

       Breakpoints bei Ausnahmen und System-Exceptions

Der Debugger unterbricht das Programm unmittelbar nach einer System-Exception, d.h. nachdem ein Laufzeitfehler abgefangen wurde.

Hinweis

Wenn Sie während einer Benutzersitzung eine HTTP-Sitzung aufrufen, dann werden zu Beginn der HTTP-Sitzung nur die HTTP-Breakpoints geladen. Je nach Einstellung werden im ABAP Editor entweder die HTTP- oder die Standard-Breakpoints angezeigt.

In HTTP-Sitzungen wird sowohl bei statischen als auch bei dynamischen Breakpoints angehalten, wenn vor der Programmausführung ein dynamischer Breakpoint im Editor einer BSP-Seite gesetzt wurde.

Hinweis

Wird während einer Benutzersitzung eine Verbuchungssitzung aufgerufen, dann werden Breakpoints, die zuvor in der aufrufenden Verarbeitungseinheit definiert wurden, in die neue Verbuchungssitzung übernommen. Wenn Sie im Debugger Einstellungen und anschließend Verbuchungs-Debugging  wählen und dann z.B. das Verbuchungsmodul funcüber CALL FUNCTION func IN UPDATE TASKaufrufen, wird ein neues Fenster geöffnet. Dort können Sie den Funktionsbaustein in der Verbuchungssitzung debuggen. Außerdem können Sie alle Breakpoints bearbeiten, die in der aufrufenden Verarbeitungseinheit gesetzt wurden.

 

 

 

Ende des Inhaltsbereichs