Show TOC

Einstellungen und WarnungenLocate this document in the navigation structure

Verwendung

Im Bild ABAP Debugger gelangen Sie über die Drucktaste Einstellungen in einen Bereich, in dem die Debuggerart und das Verhalten bei Kernel-Warnungen zur Laufzeit bestimmt werden kann.

System-Debugging

Durch Auswahl dieser Option wird der Debugger auch für Systemprogramme (Status S in den Programmeigenschaften) eingeschaltet. Die Einstellung System-Debugging wird beim Sichern von Breakpoints übernommen.

Verbuchungs-Debugging

Die Funktionsbausteine der Verbuchung laufen in einer anderen Benutzersitzung als das Programm, welches aktuell im ABAP-Debugger läuft. Diese Funktionsbausteine sind daher vom Debugging zunächst ausgeschlossen. Erst wenn die Option Verbuchungs-Debugging ausgewählt wurde, werden nach dem COMMIT WORK alle aufgerufenen Verbuchungsfunktionen auch im Debugger angezeigt und abgearbeitet.

Ausnahmeobjekt immer anlegen

Folgende Funktionen werden beim Auftreten klassenbasierter Ausnahmen unterstützt:

  1. Fehlt der Zusatz INTO ref bei der CATCH-Anweisung, dann kann im Debugger über die Schaltfläche Einstellungen ein Ausnahmeobjekt angelegt werden.

    Sobald eine Ausnahme ausgelöst wird, erscheint in der Nachrichtenzeile des aktuellen Bildschirmes eine entsprechende Meldung. Außerdem werden im Bild der Feldanzeige zwei zusätzliche Ikonen aufgeblendet, nämlich Ausnahmeobjekt anzeigen und Auslösestelle der Ausnahme.

  2. Durch Betätigung der Ikone Ausnahmeobjekt anzeigen werden im Folgebild die Attribute und Interfaces der Ausnahmeklasse mit ihren Inhalten angezeigt. Der Schlüssel der Textbeschreibung, welcher der Ausnahme zugeordnet ist, wird als Quickinfo mit dem Namen derjenigen Konstante angezeigt, die für diesen Schlüssel generiert wurde. So wird zum Beispiel bei einer Ausnahme vom Typ CX_SY_FILE_IO für das Attribut TEXTID als Quickinfo READ_ERROR oder WRITE_ERROR angezeigt, je nachdem, ob die Ausnahme beim Lesen oder Schreiben aufgetreten ist.

  3. Durch Betätigung der Ikone Auslösestelle der Ausnahme wird in die Zeile des Quelltextes gesprungen, in der die Ausnahme ausgelöst wurde. Die Auslösestelle ist im Quelltext explizit gekennzeichnet.

Speicherüberwachung

Durch Betätigung der Drucktaste Einstellungen und Ankreuzen des Auswahlknopfes Speicherüberwachung oder durch Wahl des Menüs Anfang des Navigationspfads Einstellungen Nächster Navigationsschritt Speicherüberwachung Ende des Navigationspfads wird veranlaßt, dass der Rollbereich des aktuellen Modus nach jeder ABAP-Anweisung untersucht wird. Dadurch kann vor allem das Überschreiben von verketteten Speicherbereichen festgestellt werden.

Sortierung vor READ BINARY SEARCH überprüfen

Ist diese Funktion angekreuzt, dann wird vor jeder Ausführung dieser Anweisung überprüft, ob die interne Tabelle auch sortiert ist. Im gegenteiligen Fall wird ein Laufzeitfehler ausgelöst. Diese Einstellung sollte allerdings erst kurz vor Erreichen einer entsprechenden Stelle im Quelltext aktiviert werden, da je nach Tabellenumfang erhebliche Performance-Verluste auftreten können.

Sortierung vor PROVIDE überprüfen

Ist diese Funktion angekreuzt, dann werden bei der Ausführung der Langform der Anweisung PROVIDE die gesamten beteiligten Tabellen auf Sortierung und überlappende Intervalle überprüft und nicht nur der durch extlim1 und extlim2 angegebene Bereich.

Automation Controller

Diese Debugger-Option bezieht sich auf die Art, wie Aufträge an automatisierbare Objekte (Automation Server und GUI-Controls) bearbeitet werden.

  1. Ist diese Option ausgeschaltet, dann werden die Aufträge so ausgeführt, wie es im ABAP-Programm vorgesehen ist. Aufträge mit dem Zusatz NO FLUSH werden erst ausgeführt,

    • wenn ein expliziter Flush-Auftrag erfolgt oder

    • bei dem ersten Auftrag ohne Zusatz NO FLUSH

  2. Beim Ankreuzen dieser Option mittels linker Maustaste werden alle Aufträge unabhängig vom Zusatz NO FLUSH sofort synchron ausgeführt.

Es handelt sich hierbei um eine Unterstützung bei der Fehleranalyse: Falls es bei der Ausführung der gesammelten Aufträge in der sogenannten Automation Queue zu einem Fehler kommt, ermöglicht dieser Option, die einzelnen Aufträge synchron im Debugger zu analysieren.

Hinweis

Das Einschalten dieser Option hat massiven Einfluß auf die Laufzeit des Programms, weil das ABAP-Programm erst dann mit der Verarbeitung fortfahren kann, sobald ein Auftrag vom Empfänger ausgeführt wurde. Dabei muß beachtet werden, daß der Empfänger, nämlich der Automation Server oder das Control am Frontend-Rechner, möglicherweise über eine langsame WAN-Leitung angebunden ist.

Weitere Informationen zum diesem Thema finden Sie in erster Linie unter ABAP als OLE-Automation-Controller

In Background Task: Versenden sperren

Wenn im Debugger ein Programm läuft, das Funktionsbausteine mit dem Zusatz IN BACKGROUND TASK aufruft, dann werden diese als Hintergrund-Workprozeß in einem zusätzlichen internen Modus abgearbeitet. Nach Einschalten der Option In Background Task: Versenden sperren werden diese Funktionsbausteine zur Ausführung gesammelt, jedoch nicht gestartet. Dabei vergibt der Debugger eine Kennung in Form der Transaktions-Id, die den Hintergrund-Workprozeß eindeutig identifiziert. Nach Beenden des Debug-Modus muß nun die Transaktion SM58 aufgerufen werden. Hier kann der betreffende Funktionsbaustein markiert und danach über das Menü Bearbeiten ausgeführt werden.

Laufzeit-Warnungen

Der Profilparameter abap/warnings, der über die Transaktion rz11 angezeigt und geändert werden kann, steuert das Verhalten des ABAP-Systems bei Kernel-Warnungen. Zusätzlich besteht im Debugger die Möglichkeit, die Defaulteinstellungen dieses Parameters für Ihre Sitzung zu überschreiben, indem Sie unter drei Optionen wählen können:

  • Alle auftretenden Warnungen werden erfaßt und im Debugger unter Einstellungen aufgelistet, wenn Sie Warnungen protokollieren angekreuzt haben.

  • Wenn Sie Anhalten bei Warnung ausgewählt haben, wird genau in der Zeile des Quellcodes angehalten, in der die erste aufgetretene Wanung ausgelöst wurde.

  • Bei Markierung der Option Dump bei Warnung wird bei der ersten auftretenden Warnung ein Laufzeitfehler mit Dump ausgelöst.

    Hinweis

    Im Menü Anfang des Navigationspfads Entwicklung Nächster Navigationsschritt Letzter Kurzdump anzeigen Ende des Navigationspfads kann der letzte aufgetretene Laufzeitfehler angezeigt werden. Alternativ kann dies mit der Transaktion last_shortdump erreicht werden.

Gültigkeit von Einstellungen

Die Einstellungen des ABAP Debugger haben unterschiedliche Gültigkeiten folgender Art:

  • Die Einstellungen System- und Verbuchungsdebugging, Ausnahmeobjekt immer anlegen sowie Speicherüberwachung gelten im externen Modus.

  • Die Einstellungen System-Debugging und Ausnahmeobjekt immer anlegen werden beim Sichern von Breakpoints ebenfalls gesichert und gelten dann für diese Benutzersitzung. Diese Einstellungen werden auch in die http- und Verbuchungs-Sitzungen übernommen.

  • Die Einstellungen Sortierung vor READ BINARY SEARCH überprüfen, Sortierung vor PROVIDE überprüfen, Automation Controller: Aufträge immer synchron verarbeiten und In Background Task: Versenden sperren gelten nur im internen Modus.

  • Die Einstellungen zu Laufzeit-Warnungen, nämlich Warnungen protokollieren, Anhalten bei Warnung und Dump bei Warnung, gelten für die gesamte Benutzersitzung.

Einzelheiten zu Benutzersitzungen und Modi sind im Kapitel Modularisierungstechniken der ABAP-Schlüsselwortdokumentation beschrieben.