PDA

View Full Version : Debug eines Java Programms im Batch mit RDi



Etherion
03-03-15, 16:18
Hallo zusammen,

ich bin durch die RDi Funktion Serviceeingangnspunkt sehr verwöhnt.

Egal ob, ich ein Programm interaktiv oder im Batch aufrufe. Ein Mausklick und der Debugger legt sich auf die Lauer und wartet auf den Programmaufruf.

Zwar kann ich mit dem RDi Javaprogramme remote debuggen, wenn ich sie direkt mit dem Debugger starte aber nicht wenn noch ein CL mit RUNJVA dazwischen ist oder das ganze gar im Batch aufgerufen wird.

Gibt es eine möglichkeit mit dem RDi Javaprogramme im Batch zu debuggen?

Gruß
Stefan

dschroeder
04-03-15, 10:54
Ich bin ziemlich sicher, dass das nicht geht. Das mit den Serviceeingangspunkten ist ja eigentlich nichts anderes, als ein Programm im Batch zu debuggen. Nur wird über den Serviceeingangspunkt direkt der passende Job gefunden. Das heißt, mit dem RDi SEP kommst du an den Job, der dein Javaprogramm beinhaltet (kann ja. z.B. ein CL sein, das RUNJVA aufruft). Aber das eigentliche Javaprogramm lässt sich meines Wissens mit dem RDi nicht debuggen. Dazu brauchst du dann einen passenden Java-Debugger.

Dieter

petterr
04-03-15, 11:23
Ganz so einfach wie bei Serviceeingangspunkte geht es zwar nicht, aber es ist schon möglich von RDI aus Batchprogramme zu debuggen Du musst den JVM Aufruf im CL anpassen, damit die JVM erstens die Verbindung eines Remote Debuggers zulässt und du ausserdem mit der Ausführung des Programms auf den Debugger warten möchtest. Hier ein Link wie die JVM aufgerufen werden muss und wie man den Remotedebug Vorgang im Eclipse (RDI) startet, damit ein Debug möglich ist.

http://www.ibm.com/developerworks/library/os-eclipse-javadebug/

Der Aufruf der JVM gehört natürlich noch auf IBM i angepasst.

z.B.

JAVA CLASS(QIBMHello) PROP((os400.xrun.option 'jdwp:transport=dt_socket,address=8000,server=y,su spend=y'))

Wenn du das CL Programm dahingehend modifizierst, dann wartet die JVM auf die Debugverbindung und du kannst dich mit dem Remotedebugger verbinden.

Grüße

Ralf

Etherion
04-03-15, 12:28
Hi Ralf,

Danke für den Hinweis. Das werde ich mal versuchen.

Gruß
Stefan

Etherion
04-03-15, 13:17
Hallo Dieter,

Danke für Deine Antwort.

Zu meiner Entwicklingsumgebung: Ich hab den Rdi ergänzt um die "Edition – RPG and Cobol +Modernization Tools V9" und hier bietet der RDi direkte Remote Debug funktionen für Java auf der IBM i. Aber eben nicht um sich in den laufende Job einzuklinken.

Gruß
Stefan

dschroeder
04-03-15, 13:34
OK, danke für die Info.

Wir haben hier nur die normale RPG Edition vom RDi.
Unsere Java Entwickler arbeiten alle mit dem nativen Eclipse.