Problem mit Debugging

Getting started ... Alles für einen gelungenen Start.
18 Beiträge • Seite 1 von 2 (current) Nächste
18 Beiträge Seite 1 von 2 (current) Nächste

Problem mit Debugging

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
Tach Forum.
Bin noch relativ neu in ABAP und ganz neu hier im Forum. Ich habe ein Problem mit dem Debugging. Und zwar wurde bei uns in der Firma für ein bestimmtes Eingabefeld ein Conversion-Exit programmiert, der recht "intelligent" ist. Ich habe ihn nun um noch ein bisschen mehr Intelligenz erweitert. Ich habe diesen Conversion-Exit auch schon intensiv per Debugger getestet. Heute plötzlich komme ich nicht mehr per Debugger in die Funktion rein, will heissen wenn ich ganz am Anfang der Funktion einen Breakpoint setze wird er nicht angesprungen. Dass der Conversion-Exit selbst aufgerufen wird, kann ich daran erkennen, dass wenn ich ganz an den Anfang die Anweisungen
Output = 'hallo'.
exit.
schreibe, die Funktion mir auch tatsächlich "hallo" rausgibt (Output ist ein Export-Parameter). Auch wenn ich nun auf die erste der beiden obigen Anweisungen einen Breakpoint setze, bleibt mir das Programm dort nicht stehen.
Gibt es evtl. irgendwo eine Einstellung, die ich versehentlich verstellt haben könnte, so dass mir das Programm dort nicht anhält. Andere Breakpoints in anderen Programmteilen funktioniern ganz normal.
Vielen Dank schonmal.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Jupp (ForumUser / 47 / 0 / 2 ) »
Wenn ich mich recht entsinne, hast du keinen Schalter vergessen, an dieser Stelle versagt der Debugger ganz einfach.

Das wird mit dem neuen Debugger in 6.40 anders.
Always Better Alternatives Possible.

Probleme mit Debugging

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
Aha. Hmmm, wie soll ich das deuten? "Der Debugger versagt ganz einfach...". Er hat ja (bis letzten Freitag) auch an dieser Stelle noch funktioniert. Und an allen anderen Stellen, an denen ich debuggen möchte funktioniert er immer noch. Warum sollte er mir gerade jetzt an dieser Stelle versagen? Ist das System so unausgereift, dass der Debugger mal tut und dann mal wieder nicht?

Beitrag von Gast ( / / 0 / 3 ) »
Nein, wenn es funktioniert hat, sollte es auch weiterhin funktionieren (es sei denn es gab Änderungen und im Zuge dieser hat sich ein Bug eingeschlichen). In dem Fall solltest Du im Service-Marktplatz von SAP nach entsprechenden Hinweisen mit dem beschriebenen Systemverhalten suchen.

Ansonsten gibt es einige allgemeine Hinweise, woran es liegen könnte (siehe dazu z.B. SAP-Hinweis 3365).

Du kannst auch mal nachschauen, ob Du versehentlich im Debugger etwas verstellt hast. Wenn Du nämlich für einen anderen User Breakpoints setzt, oder ggf. 'Externe Breakpoints', dann hält der Debugger nicht an. (siehe Menü 'Hilfsmittel' -> 'Einstellungen' -> 'Debugger').

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
In dem erwähnten Menü habe ich folgende Reiter:
-Workbench allgemein
-ABAP Editor
-Class Builder
-Screen Painter
-Menu Painter
-Function Builder
-Repository Infosystem
-Data Browser
-ITS
-Transport Organizer
-SAP Script

Aber nichts zum Debugger. Bin ich blind oder ist das irgendwo versteckt?

Beitrag von Gast ( / / 0 / 3 ) »
Du musst in den Sourcecode, wo Du Deinen Breakpoint setzt. Dann solltest Du das Menü 'Hilfmittel' ebenfalls angezeigt bekommen.

Debugging

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
Yep, da bin ich drin. Aber unter "Hilfsmittel/Einstellungen" ist bei mir nichts zum Debugger.

Beitrag von ewx (Top Expert / 4833 / 308 / 636 ) »
Hallo reini,

wenn du die Funktion nicht in der Zwischenzeit auf "Systemprogramm" gesetzt hast, dann ist das wirklich merkwürdig!

Manchmal kommt es vor, dass Breakpoints nicht mehr erkannt werden, weil der Sourcecode geändert wurde (Der Haltepunkt wird an einer bestimmten Zeile im Quellcode gesetzt, nicht an einer best. Anweisung).

Ich habe es auch schon gehabt, dass das System nach dem Löschen eines breakpoints regelmäßig ein zweites Mal noch angehalten hat und er erst dann gelöscht war...

Ich würde alles noch mal generieren, alle Haltepunkte löschen und erneut setzen.

Ggfs würde ich die Anweisung "BREAK meinname." einbauen. Probier noch mal das Debuggen mit /hs für Systemdebugging.

Ist der Sourcecode wirklich aktiv oder gibt's noch eine inaktive Variante (Wahrscheinlich nicht, weil sonst hättest du ja auch keinen Haltepunkt setzen können...)

Gruß,
Enno

Debugging

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
Haltepunke löschen, Funktion neu generieren, aktivieren, Haltepunkte neu setzen usw. hab ich schon ca. 20-30 mal gemacht. Wie war das mit der "Systemfunktion"? Das sagt mir leider noch nichts. Kann ich da vielleicht etwas verstellt haben? Wenn ja, wo und wie?

Re: Debugging

Beitrag von ewx (Top Expert / 4833 / 308 / 636 ) »
reini69 hat geschrieben:Haltepunke löschen, Funktion neu generieren, aktivieren, Haltepunkte neu setzen usw. hab ich schon ca. 20-30 mal gemacht.
Hab ich mir schon gedacht...:wink:
reini69 hat geschrieben:Wie war das mit der "Systemfunktion"? Das sagt mir leider noch nichts. Kann ich da vielleicht etwas verstellt haben? Wenn ja, wo und wie?

Wenn du im Debugging bist im Menü Einstellungen - Systemdebugging. Es erscheint dann eine Meldung, dass es entweder ein- oder ausgeschaltet wurde.

Gruß, Enno

Debugging

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
Ich hab mir jetzt noch mal einen Breakpoint ganz an den Anfang gesetzt. Aber auch per Systemdebugging wird der nicht angesprungen. Mit "Systemfunktion" in meinem letzten Post meinte ich eigentlich das zuvor angesprochene "Systemprogramm". Wie könnte ich das verstellt haben? Aber so gesehen, wenn ich mein Programm tatsächlich verstellt hätte dass es jetzt ein "Systemprogramm" ist, müsste es dann nicht per "Systemdebugging" angehopst werden?

Re: Debugging

Beitrag von ewx (Top Expert / 4833 / 308 / 636 ) »
reini69 hat geschrieben:Aber so gesehen, wenn ich mein Programm tatsächlich verstellt hätte dass es jetzt ein "Systemprogramm" ist, müsste es dann nicht per "Systemdebugging" angehopst werden?
Ja.

Was für ein Release hast du?
Debuggst du im Entwicklungssystem?
Ist die Funktionsgruppe komplett aktiv??

Beitrag von reini69 (ForumUser / 25 / 0 / 0 ) »
[Weiss nicht wie ich die Zitate von Dir einfüge :-( ]
>Was für ein Release hast du?
4.6C
>Debuggst du im Entwicklungssystem?
Yep. Wir haben im Dev-System einen Mandaten 110 zum Entwickeln und einen Mandaten 120 zum Testen(=>Debuggen). Änderungen im 110er sind sofort im 120er (nach erneutem Aufrufen der geänderten Funktion)
>Ist die Funktionsgruppe komplett aktiv??
Wois nitt. Ich hab sie jetzt mal im SE80 mit der rechten Maustaste angeklickt und "Activate" ausgewählt. Ich denke dann ist sie sicher aktiviert, nicht wahr? Und ich glaube sie war vorher auch aktiviert, denn meine Funktion macht ja eigentlich das, was sie soll bis auf einen kleine Fehler (den ich nun per Debugging finden will). Bei Änderungen in der Funktion sehe ich auch sofort deren Auswirkungen.

Beitrag von black_adept (Top Expert / 4059 / 118 / 929 ) »
Hallo reini,

m.E. wird ein Breakpunkt beim impliziten Aufruf der Konvertierungsroutine ( via Feldtransport auf Dynpro oder via WRITE ) nicht angesprungen - beim direkten Aufruf hingegen schon.

Beispiel:

Code: Alles auswählen.

REPORT ZSS_TEST2 .

DATA: ATINN TYPE ATINN,
      TEXT(80) TYPE C.


SELECT SINGLE ATINN
    INTO ATINN
    FROM CABN.

WRITE:/ ATINN.

CALL FUNCTION 'CONVERSION_EXIT_ATINN_OUTPUT'
     EXPORTING
          INPUT   = ATINN
    IMPORTING
         OUTPUT  = TEXT.

WRITE:/ TEXT.
Wenn du einen Breakpunkt in 'CONVERSION_EXIT_ATINN_OUTPUT' setzt, wird dieser nur einmal angesprungen - und zwar beim direkten Aufruf.

Mein Tipp wäre also in einem winzigen Testprogramm deinen FB direkt zu testen mit der Eingabe, die dir Schwierigkeiten bereitet.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von ewx (Top Expert / 4833 / 308 / 636 ) »
reini69 hat geschrieben:[Weiss nicht wie ich die Zitate von Dir einfüge :-( ]
Oben rechts am Titel des Beitrags ist ein Knopf, der das automatisch macht. Ansonsten Zitat mit [ quote="Enno" ] einleiten und mit [ /quote ] beenden (ohne Leerzeichen).

Wieder zum Thema...

Wenn du in der SE80 die Funktionsgruppe aktivierst, dann musst du darauf achten, dass du andere Teile der Funktionsgruppe ebenfalls aktivierst (TOP-Include, SAPLZ....F01, etc) -> Die inaktiven Sourcecodes werden dann in einem Fenster angezeigt.

Baue doch mal spasseshalber eine neue Funktionsgruppe mit einem neuen Funktionsbaustein und setze den im Konv.Exit ein.

ansonsten weiss ich auch keinen Rat mehr...
:cry:

Gruß,
Enno

Vergleichbare Themen

3
Antw.
9881
Views
RFC Debugging
von luckytantalos » 12.09.2006 15:06 • Verfasst in ABAP® Core
1
Antw.
1056
Views
RAP & Debugging
von BecomingAnAbapGuru » 18.08.2023 19:06 • Verfasst in ABAP® für Anfänger
2
Antw.
1478
Views
Remote Debugging
von tommy.st » 27.04.2006 16:15 • Verfasst in Basis
0
Antw.
1705
Views
DS Remote Debugging
von Meex » 08.06.2006 12:27 • Verfasst in Web Application Server
5
Antw.
4552
Views
Frage zu Debugging
von erp-bt » 17.07.2008 09:37 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

corresponding - mapping - switch
vor 10 Stunden von tar 32 / 760
Neue Themen als SAP Entwickler
vor 12 Stunden von tar 156 / 23532
Mini-SAP Insatllation
vor 12 Stunden von tar 4 / 7527

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

corresponding - mapping - switch
vor 10 Stunden von tar 32 / 760
Neue Themen als SAP Entwickler
vor 12 Stunden von tar 156 / 23532
Mini-SAP Insatllation
vor 12 Stunden von tar 4 / 7527

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
Gestern von ralf.wenzel 1 / 237
EPC QR Code in Smartforms ohne CF_LF
vor einer Woche von Thomas J. 1 / 1428
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 6979