PDA

View Full Version : RDI hängt beim Setzen eines Serviceeingangspunktes



msost
22-04-21, 13:08
Hallo,

habe seit heute morgen ein Problem beim Setzen eines Serviceeingangspunkts im RDI.
Das Window mit den Details zum Serviceeingangspunkt kommt noch, dann hängt RDI.

RDI Version ist 9.6.0.10, JAVA hab ich auch mal neu geladen.
Anwendung ist SQLRPGLE

Hat jemand eine Idee?

Andreas_Prouza
22-04-21, 14:12
Eventuell hängen ein paar (alte Debug) Jobs in der QBTACH oder einem anderen SBS?
Vielleicht hast du auch im RDi noch alte Debugs gestartet?

msost
22-04-21, 14:32
Hallo Andreas,

danke für den Tip, leider ist nix derartiges aktiv.

Fuerchau
22-04-21, 15:44
Laut dieser Beschreibung läuft es wohl etwas anders als normales debuggen:
https://www.ibm.com/docs/en/rdfa-and-l/9.1.0?topic=SSPSQF_9.1.0/com.ibm.etools.iseries.debug.doc/topics/tbiopref.html#tbiopref

Hast du das alles gelesen?

https://www.ibm.com/docs/en/rdfa-and-l/9.1.0?topic=SSPSQF_9.1.0/com.ibm.etools.iseries.debug.doc/topics/cbibsent.html

Sobald du einen Entrypoint belegst, wird dieser auch scharf geschaltet.
Aus Sicherheitsgründen solltest du eine Programmvariable haben, die dich sofort enden lässt, somst kann das System insgesamt hängen.

Dann startest du den Debugger wie oben beschrieben und setzt den Breakpoint.
Wenn dann der Sevice aufgerufen wird, kannst du die Variable ändern und dann testen.

Nur so als Idee.

msost
22-04-21, 16:37
Ich debugge immer mal wieder und nutze Service-Entry-Points schon länger, bislang immer problemlos.
Jetzt ist es so, dass mein RDI den Entry-Point gar nicht gesetzt bekommt. Das würde er dann ja melden.

Irgendwo beißt sich da was. Bis gestern Abend hab ich ein Programm immer mal kurz im Debug ausgeführt, heute geht es mit keiner Anwendung.

Ich geh deine Link nochmal durch, mal sehen ob ich was finde.

Grüße

Matthias

dschroeder
23-04-21, 09:17
Für das Debuggen mit RDi werden Debug Jobs auf der IBM i gestartet. Du kannst versuchen, ob es etwas bringt, diese Jobs zu beenden. Beim nächsten Debug werden die Jobs dann automatisch wieder gestartet.
Du beendest die Jobs im RSE: Dort mit der rechten Maustaste auf "Objekte", dann "Ferne Server", dann "Debug".
Achtung: Wenn noch weitere Programmierer gerade mit dem RDi debuggen, werden deren Service Entry Points durch das Beenden des Debug Server auch deaktiviert.

msost
23-04-21, 10:18
Guter Tip in die richtige Richtung! Vielen, vielen Dank!

Ich wollte den Debug Server, wie von Dir vorgeschlagen beenden und neu starten. Aber "starten" und "stoppen" waren nicht aktiv (grau).

Also hab ich mal den guten, alten Green-Screen bemüht und den ENDDBGSVR versucht.

Der meldete mir dann, dass er nicht beenden kann, weil ein Job eine Sperre auf QSYS/QB5ROUTER *PGM hält.

Der Job war ein alter Job einer Kollegin. Kurz den Job beendet und den Debug-Server neu durchgestartet. Problem gelöst.

Danke!

Andreas_Prouza
23-04-21, 10:29
Eventuell hängen ein paar (alte Debug) Jobs in der QBTACH oder einem anderen SBS?
Vielleicht hast du auch im RDi noch alte Debugs gestartet?
Das war es was ich ja gemeint habe...

msost
23-04-21, 12:09
Alles richtig.

Ich war aber beim Suchen nach Jobs so vorgegangen, dass ich nach irgendwas gesucht hatte, was auf Debug oder den Debugger hindeutet.

Der Job, der immer noch die Objektsperre hielt, deutete da aber nicht drauf hin. Die Kollegin war auch längst nicht mehr am Debuggen, aber die Objektsperre war halt noch da.

Drum bin ich erst auf diesen Job gekommen, als ich nach der Objektsperre gesucht hatte.

Schönes WE!