Um Ihre eigenen oder bestehende Programme zu analysieren, steht Ihnen der ABAP Debugger zur Verfügung. In diesem Kapitel lernen Sie, wie Sie mit diesem Werkzeug umgehen.
6 Debugging von Programmen 

Wenn die Anzahl der Felder unüberschaubar und die Operationen immer komplexer werden, können Sie nicht mehr wissen, ob die Felder zur Laufzeit die richtigen Inhalte haben. Dies müssen Sie auch nicht, denn hierzu gibt es ein Testwerkzeug: den ABAP Debugger. Mit diesem Werkzeug befreien Sie Ihre Programme von Fehlern verschiedenster Art, indem Sie sozusagen in voller Fahrt unter die Motorhaube schauen und die Vorgänge im Programm genau nachvollziehen können.
Bisher haben wir darauf vertraut, dass die Felder und ihre Veränderungen gedanklich nachvollziehbar sind; die Ergebnisse wurden in der Liste im Bildschirm kontrolliert und verglichen. Da aber nicht immer alle Feldinhalte in einer Liste ausgegeben werden und Sie, gerade bei immer aufwendiger werdenden Programmen, nicht alle Eingaben im Kopf verfolgen können, wird es höchste Zeit, sich mit dem ABAP Debugger vertraut zu machen. So können Sie den Quellcode, z. B. aus Kapitel 5, »Modifikation von Zeichenketten«, genau analysieren und verfolgen.
6.1 Überblick 

Mit dem ABAP Debugger können Sie die Programmlogik zeilenweise überprüfen, Befehl für Befehl ausführen lassen und sofort die Auswirkung auf Feldinhalte und Programmlogik kontrollieren. Dieses schrittweise Vorgehen erleichtert die Fehlersuche im Programm ungemein.
Sie haben die Wahl, das Programm von Anfang an zu beobachten, Haltepunkte (Breakpoints) vor kritische Anweisungen zu setzen oder die Verarbeitung dann anzuhalten, wenn Felder über einen bestimmten, von Ihnen definierten Inhalt verfügen (Watchpoints). Der ABAP Debugger kann zwar noch viel mehr, aber für den Einstieg soll dies erst einmal genügen.
[»] Klassischer und neuer Debugger
Seit Release 6.40 haben Sie die Auswahl, mit dem neuen (regulären) ABAP Debugger zu arbeiten oder seinen Vorgänger zu nutzen, den klassischen ABAP Debugger , der seit Release 4.7 seinen Dienst tut. Der klassische Debugger läuft im selben Fenster wie das beobachtete Programm. Er bietet weniger Funktionen und erhebliche Einschränkungen. Wir erwähnen ihn hier vor allem deshalb, weil das SAP-System unter bestimmten Umständen den klassischen Debugger aufruft, obwohl eigentlich der neue Debugger eingestellt ist. Dies geschieht, wenn bereits so viele SAP-GUI-Fenster offen sind, dass kein zusätzlicher Modus verfügbar ist, der für den Start des neuen Debuggers erforderlich wäre.
Der Grund dafür: Der neue Debugger läuft in einem eigenen Modus in einem eigenen Fenster. Das beobachtete Programm wird mit dieser Session fest verbunden. Für fortgeschrittene Entwickler bietet diese Arbeitsweise mit einer eigenen Session für den Debugger erheblich mehr Beobachtungs- und Analysemöglichkeiten. So können Sie beispielsweise mit mehreren Werkzeugen gleichzeitig den Programmstatus unter verschiedenen Blickwinkeln analysieren und die Ergebnisse abgleichen.
In diesem Kapitel lernen Sie den neuen Debugger kennen, soweit es für den Einstieg in ABAP notwendig ist. Der neue Debugger ist seit Release 7.0 der Default-Debugger. In Fällen, in denen es sinnvoll erscheint, ist es natürlich möglich, zwischen dem klassischen und dem neuen Debugger umzuschalten, und zwar im ABAP Editor über das Menü Hilfsmittel • Einstellungen. In den benutzerspezifischen Einstellungen für den ABAP Editor können Sie auf der Registerkarte Debugging den ABAP Debugger auswählen (siehe Abbildung 6.1).
Abbildung 6.1 ABAP Debugger wählen