Christoph Lordieck
5. November 2019

ABAP Debugger

ABAP Debugger Der ABAP Debugger ist ein Werkzeug, mit dem Nutzer ihren eigenen Code während der Laufzeit untersuchen können. Mit ihm lassen sich auch Funktionsbausteine und Web Dynpros überprüfen. Der Code wird entweder anhand von Zeilen oder Modulabschnitten analysiert – inklusive der Variablenwerte. Entwickler profitieren mit dem ABAP Debugger von einer zuverlässigen Fehleranalyse und daraus resultierenden Qualitätssteigerungen in der Software-Entwicklung. Da er bereits im SAP-Standard enthalten ist, fallen für Unternehmen keine zusätzlichen Kosten für seine Verwendung an.

Funktionen des ABAP Debuggers

Verantwortliche können sich zwischen zwei Debugger-Versionen entscheiden: Seit dem Release von SAP Netweaver 6.4 stehen ihnen der klassische und der neue Debugger zur Verfügung. Ab SAP Netweaver 7.0 ist der neue ABAP-Debugger standardmäßig eingestellt.
Der neue Debugger beinhaltet wesentlich mehr Funktionen, als es der klassische getan hat: Mit ihm lassen sich aktuelle Techniken wie Debugger Scripting, externes Debugging oder Layer Aware Debugging ausführen. Er verfügt zudem über eine Zwei-Prozess-Architektur, d. h. dass er in einem eigenen Hauptmodus ausgeführt wird, während die zu analysierende Anwendung in einem zweiten Hauptmodus läuft. Beide Komponenten werden dabei in jeweils separaten Fenstern angezeigt. Der klassische ABAP Debugger hingegen wird im gleichen Modus wie die zu prüfende Anwendung ausgeführt – Software und Debugger teilen sich dabei ein Fenster.
Ein weiterer Vorteil des neuen ABAP Debuggers ist seine flexible und frei konfigurierbare Nutzeroberfläche, auf der ein Nutzer bis zu 4 Tools gleichzeitig platzieren kann.
Um zwischen den Debuggern zu wechseln, wählen Anwender in der ABAP Workbench „Hilfsmittel“ und öffnen die Einstellungen. Dort wählen sie zunächst die Registerkarte „ABAP Editor“ und im Anschluss die Registerkarte „Debugging“. Hier befindet sich ein Auswahl-Button, mit dem entweder der neue oder der klassische ABAP Debugger aufgerufen werden kann.

Breakpoints

Der ABAP Debugger kann entweder beim direkten Ausführen eines Programms im Debug-Modus oder durch die Verwendung von Breakpoints in Gang gesetzt werden. Bei Breakpoints handelt es sich um ein Signal in einer Zeile des Programm-Quelltextes, der den ABAP-Laufzeitprozesse anweist, den ABAP-Debugger zu starten. Folgende Breakpoint-Varianten lassen sich verwenden:
• Statische Breakpoints werden über die Anweisung „BREAK-POINT“ in den Quelltext eingefügt. Benutzerabhängige Breakpoints lassen sich durch die Anweisung „BREAK <Benutzername>“ setzen.
• Dynamische Breakpoints werden im ABAP Editor oder im Debugger über einen Doppelklick platziert.
• Breakpoints bei Anweisungen sorgen dafür, dass das Programm vor einer Anweisung vom Debugger unterbrochen wird.
• Breakpoints bei Unterprogrammen führen dazu, dass der Debugger ein Programm unterbricht, bevor es ein Unterprogramm aufruft.
• Breakpoints bei Funktionsbausteinen geben dem Debugger die Anweisung, ein Programm zu unterbrechen, bevor ein Funktionsbaustein aufgerufen wird.
• Breakpoints bei Methoden sorgen dafür, dass das Programm unterbrochen wird, bevor es eine Methode aufruft.
• Breakpoints bei Ausnahmen und System-Exceptions werden verwendet, um den Debugger anzuweisen, ein Programm unmittelbar nach einem Laufzeitfehler zu unterbrechen.
• Breakpoints bei Nachrichten halten das Programm beim Verwenden bestimmter Nachrichten an – notwendig dafür ist die Nachrichtenklasse und die Nachrichten-ID.

Unser E-Book zur SAP User Experience

E-Book: SAP User Experience (SAP UX)

Überblick zu aktuellen SAP Oberflächen­technologien & erste Entscheidungsgrundlage auf dem Weg zu Ihrer Usability-Strategie.

Überprüfen von Systemprogrammen

Entwickler haben die Möglichkeit, den Debugger in Systemprogrammen aufzurufen. Hierzu geben sie im Debug-Modus den Befehl „/hs“ im Kommandofenster ein – der Debugger prüft dann auch die Programmbestandteile mit dem Status „Systemprogramm“.

Debugging von Hintergrundprozessen

Nimmt ein Hintergrundprozess viel Zeit in Anspruch, kann es sich lohnen, ihn zu analysieren. Dieser Vorgang lässt sich starten, indem Anwender über die Transaktion SM50 die Workprozess-Übersicht aufrufen. Im Menü öffnen sie dann zuerst den Button „Administration“, dann den Unterpunkt „Programm“ und schließlich die Anweisung „Debugging“.
Auch abgeschlossene Hintergrundprozesse lassen sich analysieren. Dazu geben Entwickler die Transaktion SM37 ein, mit der sie die Jobübersicht aufrufen. Danach markieren sie den zu analysierenden Job und geben in das Kommandofeld den Befehl „jdbg“ ein. Daraufhin wird der Debugger geöffnet – um den Code des zu prüfenden Prozesses zu öffnen, drücken Nutzer noch einige Male auf die Taste „F7“.

Beitragsbild-Wie Sie Ihre SAP-Systemlandschaft optimal auf S_4HANA vorbereiten
In diesem Webinar erfahren Sie, welche Technologien der SAP für der Umstieg auf S/4HANA wirklich wichtig sind und wie Sie das volle Potenzial von S/4HANA ausschöpfen.

Tastenkürzel

Mit folgenden Tastenkürzel lässt sich der Debugging-Prozess steuern:
• F5: Einheiten werden jeweils in Einzelschritten geprüft
• F6: Ein Modul wird als Ganzes durchlaufen
• F7: Die Modularisierungseinheit wird verlassen
• F8: Der Programmcode wird ausgeführt oder der Nutzer gelangt zum nächsten Breakpoint
Mit der Tastenkombination „strg+f“ können Entwickler schnell eine bestimmte Stelle im Code suchen. Das Suchfenster, das sich nach der Eingabe öffnet, stellt verschiedene Suchparameter zur Verfügung. Wenn Nutzer den genauen Wortlaut ihrer Suche kennen, können sie den Parameter „Genauer Wortlaut“ auswählen, um die Suche zu beschleunigen. Ansonsten werden ihm auch Ergebnisse angezeigt, die lediglich Teile des Suchbegriffs beinhalten.

Watchpoint

Über einen Watchpoint rufen Entwickler eine Coding-Zeile auf, in der sich eine bestimmte Variable verändert. Mit ihm haben sie die Möglichkeit, einen Variablenwert festzulegen, bei dem das Programm stoppt. Auch während des Debuggings lassen sich Variablenwerte anpassen.

ABAP und Dynpro Stack

Im Bereich „ABAP und Dynpro Stack“ können sich Nutzer die Aufrufhistorie von Programmeinheiten anzeigen lassen, bei denen sich der Debugger befindet. Innerhalb der Aufrufhistorie können sie auch rückwärts springen und dabei die gültigen Variablen einsehen. Mit dieser Funktion können Variableninhalte in einer Anwendung unkompliziert überprüft werden.

Fazit

Mithilfe des ABAP Debuggers können Entwickler ein Programm überprüfen, während es läuft. Dabei ist auch die Analyse von Web Dynpros und Funktionsbausteinen inbegriffen. Prüfungen sind sowohl auf Zeilen- als auch auf Modulabschnittsebene möglich.
Anwender können zwischen 2 Versionen des ABAP-Debuggers wählen: Einer klassischen und einer neueren. Die neuere beinhaltet mehr Funktionen und funktioniert mit einer Zwei-Prozess-Architektur. Das führt dazu, dass der Debugger und die zu prüfende Software in jeweils einem eigenen Modus ausgeführt und in zwei unterschiedlichen Fenstern angezeigt werden können. Daraus ergibt sich eine größere Oberfläche, die sich frei konfigurieren lässt – auf ihr können bis zu 4 Werkzeuge abgelegt werden.
Überprüfen lassen sich unter anderem Systemprogramme und Hintergrundprozesse. Mit verschiedenen Funktionen können sich Entwickler dabei unkompliziert durch den Code navigieren. Auch die Variablenwerte lassen sich während des Debuggings anpassen.
Kontaktieren Sie uns gerne, wenn Sie weitere Fragen zum Thema ABAP Debugger haben. Gerne beantworten wir Ihr individuelles Anliegen persönlich.

Lordieck

Websession: ABAP Debugger

Sollten Sie Fragen zu uns und unserer Arbeit oder konkret zu Umstellungsprojekten haben, dann vereinbaren Sie eine kostenlose Websession mit uns.

FAQ

Was ist der ABAP Debugger?

Der ABAP Debugger ist ein Werkzeug, mit dem Nutzer ihren eigenen Code während der Laufzeit untersuchen können. Mit ihm lassen sich auch Funktionsbausteine und Web Dynpros überprüfen.

Welche Kosten sind mit dem ABAP Debugger verbunden?

Der ABAP Debugger ist bereits im SAP-Standard enthalten. Somit fallen keine weiteren Kosten für Sie an.

Christoph Lordieck

Christoph Lordieck

Als Bereichsleiter SAP Entwicklung berate ich Unternehmen rund um das Thema SAP Individualentwicklung. Einige Jahre Projekt- und Umsetzungserfahrung haben meinen Wissenshunger noch nicht gestillt und ich suche ständig nach neuen Themen und Entwicklungen im ABAP-Umfeld.

Sie haben Fragen? Kontaktieren Sie mich!


Weiterführende Inhalte

ABAP Entwicklungsrichtlinien
SAP HANA

Verwandte Beiträge

Häufig ist es während der SAP Entwicklung notwendig, zu Testzwecken im Debugger Werte zu verändern. Bei "normalen" Variablen im ABAP-Umfeld ist dies recht einfach. Wenn jedoch auch Web Dynpro - […]

weiterlesen

Seit dem 20. Oktober 2015 stellt SAP ihren NetWeaver in Version 7.5 bereit. Spannende Themen wie z.B. SAP HANA sind mit von der Partie. Was das Upgrade aber konkret alles […]

weiterlesen

Was bedeutet eigentlich der Wechsel auf HANA für die ABAP-Entwicklung? S/4HANA löst immer mehr die alte SAP Business Suite ab. Der Support dieser läuft nur noch bis 2027. Damit steht […]

weiterlesen

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice