Externes Debugging

Hier kurz aus der SAP Doku:

Benutzerbasiertes Debugging

Verwendung

Benutzerbasiertes Debugging ist eine Variante des externen Debuggings. Benutzerbasiertes Debugging versetzt Sie in die Lage, das Abarbeiten von HTTP-Requests und RFC-Requests auf einem AS ABAP zu unterbrechen und zu debuggen. Dabei kann der Geltungsbereich externer Breakpoints folgendermaßen eingeschränkt werden:

  • Ein externer Breakpoint kann für alle Benutzersitzungen eines bestimmten Benutzers des AS ABAP gelten. Wenn das Programm im Rahmen einer Benutzersitzung eines anderen Benutzers abläuft, wird der Breakpoint ignoriert – die Programmausführung wird nicht unterbrochen.
  • Neu in AS ABAP unter SAP NetWeaver 7.0 EHP2 und 7.2: Ein externer Breakpoint kann entweder im gesamten AS ABAP oder nur auf dem Applikationsserver gelten, in dem er gesetzt wurde.

Benutzerbasiertes Debugging eignet sich daher generell in folgenden Fällen:

  • Externe Requests werden über Load-Balancing-Mechanismen auf die Applikationsserver des AS ABAP verteilt.
  • Der Benutzer, in dessen Benutzersitzung der zu testende Request bearbeitet wird, ist bekannt.
  • Kein allgemeiner Systembenutzer ist involviert.

Allgemeiner Vorgang

Gehen Sie folgendermaßen vor, um benutzerbasiertes Debugging einzusetzen:

  1. Melden Sie sich am AS ABAP an, der die zu prüfenden HTTP- oder RFC-Requests bedienen wird.
  2. Der Benutzer, mit dem Sie am AS ABAP angemeldet sind, sowie der Benutzer, der die zu prüfenden Requests abarbeiten wird, sollten beideüber Rechte zum Debuggen verfügen.
  3. Öffnen Sie den Objekt Navigator ( SE80) oder den ABAP Editor ( SE38).
  4. Wählen Sie Anfang des Navigationspfads Hilfsmittel Nächster Navigationsschritt Einstellungen Nächster Navigationsschritt ABAP Editor Nächster Navigationsschritt Debugging Ende des Navigationspfads
    • Im Bildbereich ABAP-Debugger stellen Sie sicher, dass der neue ABAP Debugger der Standard-Debugger der Benutzersitzung ist: Markieren Sie dazu den Auswahlknopf Neuer Debugger.
    • Im Bildbereich Debuggen Externer Requests spezifizieren Sie die gewünschte Debugging-Variante:
      • Legen Sie benutzerbasiertes Debugging als die Debugging-Variante fest: Wählen Sie den Auswahlknopf Benutzer.
      • Legen Sie den Benutzer fest, für dessen Sitzungen externe Breakpoints gelten sollen. Geben Sie den Benutzernamen ins Eingabefeld rechts neben dem Auswahlknopf Benutzer ein.
      • Legen Sie fest, ob externe Breakpoints im gesamten AS ABAP oder nur auf dem aktuellen Applikationsserver aktiviert werden sollen:
        • Standardmäßig gelten externe Breakpoints im gesamten AS ABAP: Das Ankreuzfeld Nur akt. Applikationsserv ist nicht markiert.
        • Alternativ können externe Breakpoints nur für denjenigen Applikationsserver gelten, auf dem Sie zurzeit angemeldet sind. Markieren Sie dazu das Ankreuzfeld Nur akt. Applikationsserv. Wird ein Request auf einem anderen Applikationsserver prozessiert, so hält der Debugger auch dann nicht an, wenn der Benutzer mit demjenigen Benutzer übereinstimmt, für den der Breakpoint gesetzt wurde.
    • Übernehmen Sie die Einstellungen: Wählen Sie Übernehmen (Enter).
  5. Öffnen Sie den Quelltext des zu testenden Programms im ABAP Editor (SE38, SE80, SE37, SE24,…) und setzen Sie externe Breakpoints. Siehe dazu Externe Breakpoints (link). Neue externe Breakpoints sowie alle von dem aktuellen Benutzer zuvor gesetzten externen Breakpoints werden entsprechend der zuletzt gewählten Debugging-Variante (hier: benutzerbasiertes Debugging) und zugehörigen Einstellungen (hier: Benutzer, für dessen Sitzungen der Breakpoint gilt) gekennzeichnet. In der Statuszeile des ABAP Editors erscheint eine entsprechende Information.
  6. Melden Sie sich nicht vom AS ABAP ab. Damit bleibt die Dialogsitzung bestehen, in der Breakpoints gesetzt wurden, so dass der ABAP Debugger später im Rahmen dieser Sitzung starten kann.
  7. Die zu prüfenden Requests können nun über HTTP oder RFC an den AS ABAP gesendet werden.
  8. Nachdem die Programmausführung einen externen Breakpoint erreicht hat und die zugehörigen Bedingungen des benutzerbasierten Debuggings erfüllt sind, startet der ABAP Debugger im neuen Hauptmodus der Dialogsitzung, in der der Breakpoint gesetzt wurde. Das Fenster des ABAP Debuggers wird fokussiert und Sie können den weiteren Programmverlauf wie gewohnt prüfen und steuern und danach die Debugging-Sitzung beenden.

Wichtig sind die Rechte des zu testenden Users, über SUIM zu eruieren, diese müssen sein:

Rechte zum Debuggen

Verwendung

Berechtigungsobjekt: S_DEVELOP

Objekttyp: DEBUG

Aktivität

3: debug

2: change and jump in code

1: Reserviert für den SAP-internen Gebrauch

Siehe auch SAP-Hinweis 65968.