ABAP Debugger
Inhaltsverzeichnis
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.
Ü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“.
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.
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.