Show TOC

EinstellungenLocate this document in the navigation structure

Verwendung

Mit dem Menü Einstellungen können Sie den Debugging-Modus eines Programms setzen.

Um das Dialogfenster Debugger Einstellungen zu öffnen, wählen Sie Anfang des Navigationspfads Einstellungen Nächster Navigationsschritt Debugger Profil/Einstellungen ändern Ende des Navigationspfads

Funktionsumfang

Debug-Modi

  • System-Debugging

    Das System-Debugging ermöglicht Ihnen das Debuggen von Systemprogrammen, also von Programmen, deren Status-Attribut auf System Program steht. Verwenden Sie diese Einstellung, wenn Sie Probleme mit Systemfunktionen haben, die Sie im Debugger nicht sehen können.

    Sichern und Gültigkeit: Wählen Sie Sichern in der Anwendungsfunktionsleiste des Debuggers, um diese Einstellung für zukünftige Debugging-Sitzungen zu speichern. Diese Einstellung gilt für den externen Modus, den Sie einem Debugging unterziehen, und deshalb für alle internen Modi, die in dem externen Modus gestartet werden. Wenn Sie die Einstellung sichern, dann ist sie auch für die anderen externen Modi Ihrer aktuellen Anmeldung im System gültig.

  • Verbuchungs-Debugging

    Funktionsbausteine, die mit dem Argument IN UPDATE TASK aufgerufen werden, werden nicht inline in einem Programm ausgeführt. Sie werden dem Verbuchungs-Workprozess übergeben, der sich nicht einmal auf dem gleichen Application Server befinden muss. Die ABAP-Laufzeit sammelt Verbuchungen und übergibt sie zur Ausführung an eine eigene LUW bei der nächsten COMMIT WORK-Anweisung. So liegen Verbuchungen außerhalb der Reichweite des Debuggers.

    Wenn Sie ein Problem in einem Verbuchungsmodul haben, dann schalten Sie diese Option ein, um das Verbuchungsmodul in Ihrer Debugging-Sitzung sichtbar zu machen. Wenn diese Option aktiv ist, öffnet der Debugger ein zweites Debugger-Fenster, sobald eine COMMIT WORK-Anweisung verarbeitet wird.

    Das separate Debugger-Fenster wird in dem Programm RSM13000, dem zentralen Verbuchungsbehandler, gestoppt. Sie können den Code von RSM13000überspringen, indem Sie in Ihrem Verbuchungsfunktionsbaustein einen Breakpoint setzen. Das Verbuchungs-Debugger-Fenster hält an diesem Breakpoint an.

    Sichern und Gültigkeit: Sie können die Einstellung dieser Option nicht als Debugger-Voreinstellung sichern. Diese Einstellung gilt für den externen Modus, den Sie einem Debugging unterziehen, und deshalb für alle internen Modi, die in dem externen Modus gestartet werden.

  • TRFC (In Background Task): Versenden sperren

    Die Anweisung CALL FUNCTION ... IN BACKGROUND TASK fordert eine transaktionale RFC-Verarbeitung (tRFC) des Funktionsbausteins an. Das System sammelt tRFC-Aufrufe und verarbeitet sie in zusätzlichen internen Modi bei der nächsten COMMIT WORK-Anweisung. Die separate asynchrone Verarbeitung von tRFC-Aufrufen bedeutet, dass diese nicht im ABAP-Debugger sichtbar sind.

    Verwenden Sie diese Einstellung, um dem Debugger mitzuteilen, alle tRFC-Aufrufe zu sammeln, aber deren Verarbeitung bei COMMIT WORK zu unterdrücken. Sie können dann im tRFC-Monitor (Transaktion SM58) nach den unverarbeiteten Aurufen suchen. In SM58 wählen Sie Anfang des Navigationspfads Bearbeiten Nächster Navigationsschritt LUW debuggen Ende des Navigationspfads, um die tRFC-Aufrufe zu debuggen.

    Sichern und Gültigkeit: Sie können die Einstellung dieser Option nicht als Debugger-Voreinstellung sichern. Sie gilt nur für den aktuellen internen Modus.

  • ESI Debugging

    Wählen Sie dieses Ankreuzfeld, wenn Sie einen von ESI angestoßenen Service debuggen möchten.

  • Shared Objects: Automatischen Gebietsaufbau debuggen

    Wählen Sie dieses Ankreuzfeld, wenn der Debugger für den Prozess, der das Shared-Object-Gebiet anlegt, automatisch starten soll.

  • Control Framework: Automation Controller verarbeitet Aufträge immer synchron

    Diese Einstellung bezieht sich auf das SAP Control Framework, die ABAP-Schnittstelle für Controls wie das Tree Control, das ALV Grid Control oder das HTML Control in SAP-GUI-Fenstern.

    Aus Gründen der Performance werden die Ereignisse und Aufträge für diese Controls üblicherweise in eine Queue gestellt und dann zusammen abgearbeitet (asynchrone Verarbeitung). Deshalb ist es schwierig herauszufinden, welches Ereignis oder welcher Auftrag in der Queue für einen Fehler in einem SAP GUI Control verantwortlich ist.

    Verwenden Sie diese Option, um alle Control-Aufträge sofort abzuarbeiten. Wenn es zu einem Control-Fehler kommt, zeigt der Debugger eine entsprechende Nachricht an. Ist diese Option ausgewählt, wirkt sich das negativ auf die Performance aus, wegen der zusätzlichen Roundtrips zwischen dem Programm und den SAP GUI Controls.

    Sichern und Gültigkeit: Sie können die Einstellung dieser Option nicht als Debugger-Voreinstellung sichern. Sie gilt nur für den aktuellen internen Modus.

Spezielle Einstellungen

  • Schließe Debugger nach 'Weiter' (F8) und Rollbereichsende

  • Session-Breakpoints automatisch übernehmen.

  • Ausnahmeobjekt immer anlegen

    Wenn Sie eine ABAP-Ausnahme abfangen, aber nicht das Argument INTO <reference> angeben, legt ABAP kein Ausnahmeobjekt an, wenn die CATCH-Anweisung verarbeitet wird. Sie können ein solches Objekt nicht im Debugger überprüfen.

    Verwenden Sie diese Einstellung, damit ABAP auch dann Ausnahmeobjekte für klassenbasierte Ausnahmen anlegt, wenn INTO <reference> fehlt.

    Wenn eine Ausnahme auftritt, gibt der Debugger bekannt, dass er ein Ausnahmeobjekt angelegt hat. Zusätzlich zu der Statusmeldung erscheinen zwei zusätzliche Symbole in der Anzeige mit dem Quick-Info-Text Ausnahmeobjekt anzeigen und Auslösestelle der Ausnahme.

    • Wenn Sie Ausnahmeobjekt anzeigen wählen, werden 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.

      Bei einer Ausnahme vom Typ CX_SY_FILE_IO könnte zum Beispiel für das Attribut TEXTID als Quick-Info READ_ERROR oder WRITE_ERROR angezeigt werden.

    • Wenn Sie Auslösestelle der Ausnahme wählen, wird die Zeile des Quelltextes angezeigt, in der die Ausnahme ausgelöst wurde. Die Auslösestelle ist im Quelltext gekennzeichnet.

    Wählen Sie Sichern in der Anwendungsfunktionsleiste des Debuggers, um diese Einstellung für zukünftige Debugging-Sitzungen zu speichern. Diese Einstellung gilt für den externen Modus, den Sie einem Debugging unterziehen, und deshalb für alle internen Modi, die in dem externen Modus gestartet werden. Wenn Sie die Einstellung sichern, dann ist sie auch für die anderen externen Modi Ihrer aktuellen Anmeldung im System gültig.

  • Rollbereichsübergreifender Stack aktiv

    Wenn Sie diese Einstellung wählen, wird der Aufruf-Stack weiterhin aufgezeichnet, selbst wenn sich der interne Modus ändert. Wenn Sie diese Einstellung nicht wählen, zeigt der Aufruf-Stack nur den Stack des aktuellen internen Modus an.

  • Sortierung vor READ BINARY SEARCH überprüfen

    Die Sortierreihenfolge einer internen Tabelle muss den in der READ BINARY SEARCH-Anweisung verwendeten Schlüsseln entsprechen. Ist die Sortierreihenfolge falsch, weil die Tabelle entweder nie oder mit anderen Sortierschlüsselfeldern sortiert wurde, sind die Ergebnisse der READ BINARY SEARCH-Anweisung unvorhersehbar. Üblicherweise wird dann der Eintrag, nach dem Sie suchen, nicht gefunden, selbst wenn er vorhanden ist.

    Verwenden Sie diese Einstellung, damit der Debugger die Sortierreihenfolge einer internen Tabelle überprüft, bevor er eine READ BINARY SEARCH-Anweisung ausführt.

    Ist die Sortierreihenfolge richtig, löst der Debugger einen Kurzdump vom Typ ITAB_ILLEGAL_ORDER aus. Der Kurzdump identifiziert die falsch sortierten Zeilen. Sie erhalten zum Beispiel die Nachricht In the case at hand, the rows 4 and 5 of the table "\PROGRAM=PGM1\DATA=ITAB" weren't sorted according to the key specified in the READ statement.

    Diese Option kann den Debugger erheblich verlangsamen, wenn Sie mit großen internen Tabellen arbeiten.

    Sichern und Gültigkeit: Sie können die Einstellung dieser Option nicht als Debugger-Voreinstellung sichern. Sie gilt nur für den aktuellen internen Modus.

  • Layer aware Debugging aktiv

    Hier können Sie Layer Aware Debugging aktivieren oder deaktivieren. Siehe Objektmengen und Profile im ABAP Debugger verwenden.