[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Nov 2011
    Beiträge
    16

    SRCDBG aus News400

    Hallo zusammen,

    ich hoffe hier kann mir jemand weiter helfen.
    Ich habe früher immer mit dem Sourcedebugger aus der News gearbeitet.
    Leider läuft der mit RPGLE Programmen nicht. Ich bekomme immer die Nachricht Fehler im Befehl.
    Was muss ich ändern, damit ich auch weiterhin mit dem Sourcedebugger arbeiten kann?

    Danke schon mal.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ich kenne zwar den Debugger nicht, aber mit STRDBG kannst du auch Source-Debuggen.
    Einzige Vorbereitung:

    CRTCLPGM ... OPTION(*SRCDBG)
    CRTRPGPGM ... OPTION(*SRCDBG)

    CRTBNDRPG ... DBGVIEW(*SOURCE)
    CRTRPGMOD ... DBGVIEW(*SOURCE)
    CRTSQLRPGI ... DBGVIEW(*SOURCE)

    Mittels
    STRDBG PGM(MYPGM) UPDPROD(*YES) OPMSRC(*YES)
    oder
    STRDBG SRVPGM(MYSRVPGM) UPDPROD(*YES) OPMSRC(*YES)

    kann man den System-Debugger dann starten. Dabei ist es egal ob man ILE oder OPM debugt.

    ENDDBG beendet den Debugger und wenn man die Quelle verlassen hat, kann man sich diese mittels DSPMODSRC wieder zurückholen.

    Breakpoints, bedingte Breakpoints, Einzelschritt, Variablen anzeigen und modifizieren, alles ist möglich.

    Zur Laufzeit Programme hinzufügen oder entfernen u.v.m.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Nov 2011
    Beiträge
    16
    Hallo,
    ich kenne den STRDBG, der wird auch von dem SRCDBG aufgerufen.
    Die Crux ist nur die, ich habe hier sowohl noch RPG sowie auch RPGLE Programme. Die RPG Programme lassen sich von dem SRCDBG sehr viel besser debuggen, da er wesentlich mehr Funktionen bietet. Wenn ich ein RPGLE Programm debugge habe ich auch ganz andere Möglichkeiten, so wie Du schon beschrieben hast.

    Ich hätte halt gerne ein und den selben Debugger für beide Programme mit möglichst vielen Funktionalitäten.

    Gibt es da denn keine Möglichkeit?

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wie ich schon beschrieben habe:
    Der STRDBG unterstützt beides und sogar gemischt gleichzeitig!
    Lass dich nicht von der Option OPMSRC(*YES) verwirren, die gilt auch für ILE.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    727
    Noch besser du nutzt den System Debugger aus der Java Toolbox.
    Sofern du Client Access installiert hast, ist diese bereits auf deinem Rechner.
    Aufruf geht mit (ohne Zeilenumbruch!!!):
    Code:
    java -classpath "C:\Programme\IBM\Client Access\jt400\lib\tes.jar;
    C:\Programme\IBM\Client Access\jt400\lib\tesMri_de.jar;
    C:\Programme\IBM\Client Access\JRE\lib\jhall.jar" utilities.DebugMgr
    Vorher im "Grünen" STRDBGSVR aufrufen.
    Dieser ist wesentlich komfortabler, bietet eine einheitliche Oberfläche für ILE/OPM (mit Syntax-Highlighting) und arbeitet zusammen mit STRDBG/DSPMODSRC.

    IBM i information center

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Morgen!

    Also das interessiert mich jetzt auch.
    Habe den Server gestartet. Den 3zeiler als eine Zeile in eine BAT gepackt und auf gerufen. Er macht mir ein Fenster auf.
    Aber weiter tut sich nix. Ich kann kein System hinzufügen.
    Was muss ich da noch machen?

    Gruß
    Ronald

    hier mal was alles in der DOS-Box steht:

    C:\Dokumente und Einstellungen\Ronald Malz\Desktop>java -classpath "C:\Programme
    \IBM\Client Access\jt400\lib\tes.jar;C:\Programme\IBM\Client Access\jt400\lib\te
    sMri_de.jar;C:\Programme\IBM\Client Access\JRE\lib\jhall.jar" utilities.DebugMgr

    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/ibm/a
    s400/access/ExtendedIllegalArgumentException
    at com.ibm.iseries.debugmanager.action.DebugManagerAd dSysAction.run(Debu
    gManagerAddSysAction.java:61)
    at com.ibm.iseries.debug.util.Action.actionPerformed( Action.java:383)
    at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(Unknown Sour
    ce)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectio nPrivilege(Unknown
    Source)
    at java.security.AccessControlContext$1.doIntersectio nPrivilege(Unknown
    Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.awt.EventQueue$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectio nPrivilege(Unknown
    Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: com.ibm.as400.access.ExtendedIllega
    lArgumentException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 39 more

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    309

    Debugger in eigenem Verzeichnis

    ich benutzt nicht den Debugger bzw. das ClientAccess Verzeichnis sondern hab mir das in einem eigenen Verzeichnis zusammen gestellt!

    dabei hab ich dann die "DebugMgr.bat" wie folgt angepasst!

    @echo off
    set CLASSPATH=%CLASSPATH%;y:\xyz\jhall.jar
    set CLASSPATH=%CLASSPATH%;y:\xyz\jt400.jar
    set CLASSPATH=%CLASSPATH%;y:\xyz\tes.jar
    java utilities.DebugMgr


    wollte die Dateien (und ein paar Screeshots für den Start, etc.) eigentlich hier als *.zip hoch laden => geht aber leider nicht, da die *.zip Datei ca 6 MB groß ist und ich hier nur max. 1 MB groß Dateien anhängen darf !!!

    bei Interesse einfach pn an mich, dann schick ich sie euch per mail


    PS was mich hier noch interessieren würde ist, warum die ganzen Fehlermeldungen
    immer an den QSYSOPR und nicht an mich selber gehen !!!
    (kann man das auch ändern?)

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    727
    Was hast du denn für eine Toolbox-Version ?

    Ich nutze die 7.1.0.6 (=JTOpen 7.5).

    Ansonsten kannst du dir alles auch von deiner AS400 aus /QIBM/ProdData/HTTP/Public/jt400/lib/ downloaden.

    Im Prinzip benötigst du nur :
    - Java 1.4 > oder Laufzeitumgebung (JRE).
    - jt400.jar (Java Toolbox)
    - jhall.jar
    - tes.jar (der Debugger, + tesMri_de.jar für die deutschen Menüs)
    - korrekt gesetzter classpath für die 3(4) jar's
    - Aufruf bei korrekt!!! gesetztem classpath :
    Code:
    java utilities.DebugMgr
    Sieh dir noch mal die Doku im Information Center an, welche ich oben verlinkt habe.

  9. #9
    Registriert seit
    May 2002
    Beiträge
    1.121
    Okay,

    damit passt es. habe mir ein Verzeichnis angelegt, die JAR dor hin kopiert, und mit der BATCH geht es dann auch.

    set CLASSPATH=%CLASSPATH%;C:\as400-debuger\jhall.jar
    set CLASSPATH=%CLASSPATH%;C:\as400-debuger\jt400.jar
    set CLASSPATH=%CLASSPATH%;C:\as400-debuger\tes.jar
    set CLASSPATH=%CLASSPATH%;C:\as400-debuger\tesMri_de.jar
    java utilities.DebugMgr


    Werde mir mal den Debuger anschauen

    Gruß
    ROnald

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    727
    @Ronald
    mein Fehler, hatte die jt400.jar im Aufruf vergessen, deshalb ging dein Aufruf nicht. ( die Toolbox ist bei mir im System classpath ;-) )

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    309
    @Sven

    du sprichst von einer "tesMri_de.jar" für deutsche Menü's ?!?!?!?

    die hab ich leider nicht!
    ich kann sie auch nicht bei mir im System finden (/QIBM/ProdData/HTTP/Public/jt400/lib)

    auch im internet find ich nicht's dazu

    wie kann ich an diese Datei kommen bzw. wo find ich die ?!?!?!

  12. #12
    Registriert seit
    Jun 2001
    Beiträge
    727
    @muadeep

    Wie seht es hier aus :

    - /QIBM/ProdData/HTTP/Public/jt400/lib/MRI2929
    - /QIBM/ProdData/OS400/jt400/MRI2929

    Andernfalls die aktuellen PTF's für die Java Toolbox einspielen.
    IBM i Support: APAR search (nach "JTOpen" suchen)
    Bzw. folgendes beachten :
    Zitat Zitat von IBM
    For example, installing the German language version of licensed program 57xx-JC1 (as of IBM i 7.1 5770SS1 Opt 3) installs the German language jar file, jt400Mri_de.jar
    IBM i Support: Software Technical Document : 455471046

    Die JTOpen enthält die Sprach-jar's nicht : JTOpen | Overview

    Die "tesMri_de.jar" ist übrigens nur für die deutschen Menü's im Debugger, die Hilfe ist weiterhin nur in englisch.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •