Show TOC

Breakpoints und Breakpoint-AnweisungenLocate this document in the navigation structure

Verwendung

Breakpoints dienen zur Unterbrechung der Programmausführung und Übergabe der Kontrolle an den ABAP Debugger.

Breakpoint-Arten

Es gibt folgende Arten von Breakpoints, die für verschiedenste Anwendungsfälle konzipiert wurden:

  • Setzt man einen Breakpoint im ABAP Editor (SE38), so ist dies ein Session-Breakpoint oder ein externer Breakpoint . Sie können auch eine Breakpoint-Anweisung im Quelltext des Programms verankern.

    Sie können so eine Debugging-Sitzung initiieren (die Ausführung einer Anwendung wird erstmals unterbrochen und der ABAP Debugger startet).

  • Setzt man einen Breakpoint im Fenster des ABAP Debuggers, so ist es ein Debugger-Breakpoint .

    Debugger-Breakpoints können während einer bereits bestehenden Debugging-Sitzung ergänzend dazugesetzt werden.

Folgende Rahmenbedingungen gelten:

  • Es können bis 30 Session-Breakpoints, externe Breakpoints und Debugger-Breakpoints gesetzt werden.

  • Ein Breakpoint ist entweder aktiv oder inaktiv .

    Nur aktive Breakpoints sind wirksam. Inaktive Breakpoints werden zur Laufzeit ignoriert.

  • Mit Werkzeugen des ABAP Debuggers können Sie externe Breakpoints, Session-Breakpoints und Debugger-Breakpoints verwalten. Siehe Breakpoints im ABAP Debugger verwalten . Breakpoint-Anweisungen werden nicht berücksichtigt.

Die Hauptmerkmale der einzelnen Breakpoint-Arten werden im Folgenden erläutert.

Session-Breakpoints

Mit Session-Breakpoints können Sie Requests anhalten und debuggen, die Sie innerhalb derselben Benutzersitzung auslösen, in der Sie die Session-Breakpoints setzten. Sie eignen sich daher insbesondere zum Debuggen von SAP-GUI-basierten Anwendungen.

Sie setzen einen Session-Breakpoint im ABAP Editor (SE38) als Zeilen-Breakpoint , dass heißt bei einer bestimmten Zeile des Quelltextes. Siehe Breakpoints im ABAP Editor verwalten . Darüber hinaus können während einer Debugging-Sitzung andere Breakpoint-Arten in Session-Breakpoints umgewandelt werden. Siehe Breakpoints im ABAP Debugger verwalten

Ein Session-Breakpoint ist gültig innerhalb aller Hauptmodi (externen Modi) der Benutzersitzung, in der er gesetzt wurde.

Wenn Sie die Benutzersitzung beenden (indem Sie sich vom System abmelden), werden alle in dieser Sitzung gesetzten Session-Breakpoints automatisch gelöscht.

Hinweis

Session-Breakpoints stehen insbesondere bei impliziten Neuanmeldungen, zum Beispiel beim Wechsel des Servers über die Transaktion SM51, nicht mehr zur Verfügung.

Allerdings können Sie Session-Breakpoints, die in der aktuellen Benutzersitzung gültig sind, zuvor in der Datenbank speichern und in einer weiteren Benutzersitzung zurückladen. Siehe: Debugger-Sitzungen verwalten.

Externe Breakpoints

Externe Breakpoints (frühere Bezeichnung: User Breakpoints) gelten für die aktuelle Benutzersitzung in gleicher Weise wie Session-Breakpoints. Darüber hinaus bleiben sie wirksam in künftigen Benutzersitzungen. Damit sind nicht nur Dialogsitzungen gemeint, sondern auch durch RFC- oder HTTP-Requests initiierte Sitzungen.

Mit externen Breakpoints können Sie Anwendungen debuggen, die RFC-Schnittstelle oder HTTP-Protokoll verwenden ( externes Debugging) . Dazu gehören über RFC gerufene Funktionsbausteine, Web-Services sowie Web-Dynpro-Anwendungen und BSP-Anwendungen.

Ein externer Breakpoint kann gelten:

  • für einen Benutzer innerhalb des aktuellen SAP-Systems

  • für einen Benutzer innerhalb des aktuellen Applikationsservers des aktuellen SAP-Systems

  • für Benutzersitzungen, die durch einen Request entstehen, der eine bestimmte Terminal-ID trägt.

Externe Breakpoints können Sie setzen:

Externe Breakpoints sind 2 Stunden lang aktiv. Danach werden sie deaktiviert. Wird ein weiterer externer Breakpoint gesetzt, werden alle bis dahin gesetzten externen Breakpoints wieder aktiviert.

Externe Breakpoints gelten für den Kalendertag, an dem sie gesetzt wurden. Sie werden in der ersten Minute des nächsten Kalendertages (gegen Mitternacht) gelöscht.

Siehe auch: Externes Debugging (HTTP- und RFC-Debugging)

Debugger-Breakpoints

Debugger-Breakpoints sind Breakpoints, die Sie im Fenster des ABAP Debuggers setzen.

Es gibt folgende Arten von Debugger-Breakpoints:

  • Zeilen-Breakpoints , die Sie bei bestimmten Zeilen im Quelltext setzen, analog zum Setzen von Breakpoints im ABAP Editor.

  • Zeilen-Breakpoints , die Sie für bestimmte Situationen definieren und, das System implizit Breakpoints bei der entsprechenden Zeile im Quelltext setzt:

    • Breakpoint bei Unterprogram

    • Breakpoint bei Funktionsbaustein

    • Breakpoint bei Methode

    • Breakpoint bei Quellcode

    • Breakpoint bei ST-Programm

    • Breakpoint bei Web Dynpro

  • dynamische Breakpoints , die Sie für bestimmte Situationen definieren, die keiner bestimmten Zeile im Quelltext zugeordnet werden. Dazu gehören:

    • Breakpoint bei Anweisung

    • Breakpoint bei Ausnahme

    • Sonstiges:

      • Breakpoint bei Stack-Änderung (Programm/Prozedurwechsel - Änderung im ABAP + Dynpro Stack)

      • Breakpoint bei unpräziser DECFLOAT Berechnung

    • Breakpoint bei Message

Sie setzen Debugger-Breakpoints im Fenster des ABAP Debuggers während einer bereits bestehender Debugging-Sitzung. Siehe Breakpoints im ABAP Debugger verwalten

Ein Debugger-Breakpoint gilt für die gesamte aktuelle Debugging-Sitzung (alle internen Modi und Hauptmodi).

Wird der Debugger geschlossen, so werden alle Debugger-Breakpoints gelöscht. Sie können dies vermeiden, indem Sie sie zuvor in Session-Breakpoints oder externe Breakpoints umwandeln. Siehe Breakpoints im ABAP Debugger verwalten

Breakpoint-Anweisungen

Breakpoint-Anweisungen sind ABAP-Anweisungen, die im Quelltext des Programms enthaltene Breakpoints darstellen.

Ein solcher Breakpoint kann zur Laufzeit aktiv sein:

  • für alle Benutzer

  • für einen bestimmten Benutzer

  • wenn eine bestimmte Checkpoint-Gruppe aktiv ist.

Breakpoint-Anweisungen können Sie nur in der Entwicklungsphase hinzufügen oder löschen, indem Sie den Quelltext des Programms modifizieren. Siehe Breakpoint-Anweisungen

Werkzeuge des ABAP Debuggers verwalten sie nicht.

Hinweis

Session-Breakpoints, externe Breakpoints und Debugger-Breakpoints sind flexibler als Breakpoint-Anweisungen: Sie können zur Laufzeit angelegt und mit Werkzeugen des ABAP Debuggers verwaltet werden (beispielweise aktiviert und deaktiviert). Der Quelltext des Programms muss dabei nicht modifiziert werden.