-
Debugger
Hallo liebe Helfer,
ich habe folgende Frage:
Ich möchte ein RPG-Programm debuggen, das von einem anderen
RPG-Programm aufgerufen wird.
Wie geht das ??
Mit STRDBG PGM(programmname) geht es nicht !
Vielen Dank für eine schnelle Antwort
Es grüßt freundlich vom Bodensee
Mario
-
Hallo Mario,
wieso geht der STRDBG nicht ?
Normalerweise gibst Du dem Command STRDBG das Programm
mit. ( Source sollte natürlich aktuell und vorhanden sein)
Mit DSPMODSRC kann man noch andere Programme in den Debugmode versetzten und Unterbrechnungspunkte definieren.
Gruss Michael
-
Debugger
Tja, da müsste man wissen ob das Programm interaktiv oder im Batch aufgerufen wird.
Es gibt zwar eine Möglichkeit auch im Batch
aufgerufene Programme zu debuggen, ist aber
etwas aufwendig. Am besten das CL, das dein
Programm aufruft soweit abändern das es
interaktiv läuft oder halt den Programmaufruf
im Programm, fals du kein CL vorgeschaltet hast,und dieses dann mit STRDBG(interaktives
Programm) dann bei Modulen mit
F14 die Quelle auswählen.
Viel Spaß beim Debuggen
-
Debugger
Hallo Shorty,
erstmal vielen Dank für die schnelle Antwort.
Ich rufe ein Cl-Programm interaktiv auf, das ein RPG-Programm startet.
Dieses startet wiederum ein RPG-Programm.
Mit STRDBG kann ich nur das 1.Programm debuggen !!!
F14 mit Modulen finde ich leider nicht.
Das 2.Programm kann ich debuggen, wenn ich es direkt aufrufe.
Das Programm läuft im Einzelaufruf auch korrekt ab.
Aber ich müsste es eben testen, wenn es in der Schleife des ersten Programms abläuft.
Einen Gruß
Mario
-
hallo mario.
also ich sehe da kein problem. du rufst aus dem prog1 ds prog2 auf. also dann einfach
strdbg prog2
setzen breakp.
call prog1
wenn jetzt das prog1 das prog2 aufruft, so bleibt es an dem 1. brakp. stehen (mal vorraus gesetzt die breakp. sind sinnvoll gesetzt)
ronald
-
Debug von Batch-Programmen
Hallo,
sooo kompliziert ist das Debuggen von Batch-Programmen auch wieder nicht.
Folgende Schritte sind notwendig:
1. Start Service Job für den Batch-Job:
STRSRVJOB JOB(123456/BATCHUSER/BATCHJOB)
2. STRDBG PGM(MYPGM)
Ein Break Point kann erst gesetzt werden, wenn der Job aktiv ist.
3. Ist der Job aktiv erscheint folgende Meldung:
Der bediente Job wurde aus der Jobwarteschlange freigegeben.
Eingabetaste drücken, um den Job zu starten oder F10 drücken, um die
Debug-Befehle für den Job einzugeben.
Nach dem Drücken der F10-Taste erhält man eine Befehlszeile.
4. DSPMODSRC eingeben und den 1. Break Point setzen
Mit F12 / F12 verlassen, bis die oben genannte Meldung erscheint.
Datenfreigabe und das Programm kann gedebugged werden.
5. Nach Programm-Ende
ENDDBG
ENDSRVJOB
Voraussetzung:
RPGIV-Programme/Module sollten mit DBGVIEW *SOURCE
gewandelt werden
Bei RGPIII sollten mit OPTION *SRCDBG gewandelt werden.
Bei OPM-Programmen muss beim Start Debug OPMSRC auf *YES gesetzt werden.
Das CL-Programm so ändern, dass es interaktiv läuft macht nicht immer Sinn. Wir hatten schon öfter das Problem, dass interaktiv keine Probleme auftraten, wohl aber im Batch (Bibliotheksliste, *LDA o.ä.)
Wir reden auch tatsächlich von Programmen?
Könnte es sein, dass kein Programm, sondern ein Service-Programm aufgerufen wird?
In diesem Fall muss der Start Debugg wie folgt aussehen:
STRDBG SRVPGM(MYSRVPGM)
Wenn der Debugger bereits aktiv ist, kann auch auf dem CALL-Statement F22 gedrückt werden und in das aufgerufene Programm oder Prozedur wird verzweigt.
Birgitta
-
Hallo,
also wenn ich recht verstehe willst einfach nur 2 Programme gleichzeitig debuggen.
Dazu mußt ja nur beim STRDBG mit F4 weitere Werte das zweite zu debuggende Prog. angeben.
Vorraussetzung für das Ganze ist natürlich das wir von ILE-Programmen sprechen.
Dann mit F14 die jeweilig zu bearbeitende Quelle auswählen und Breakpoints setzen. Den Rest kennst ja sicher.
shorty
-
Debugger
Hallo Ihr vielen Helfer,
vielen Dank für diese wahnsinnig große Teilnahme.
Habe vergessen zu sagen, dass es keine ILE-Programme sind.
Release = 4.2 also alter Schinken ;-)
Also ich möchte eigenlich nur das 2.Programmm aufrufen.
Ich habe mal den Breakpoint gleich am Anfang gesetzt, aber ohne Ergebnis.
Wenn ich das Programm direkt aufrufe, nimmt er aber die Breakpoints !
Aber wie gesagt, im Direktaufruf läuft ja das Programm korrekt.
Serviceprogramme sind es nicht, die Quelle ist vorhanden.
So langsam verzweifel ich schon.
Trotzdem noch mal viiieeelen Dank für Eure Mühe.
Gruß Mario
-
Debugger
Hallo,
1. wenn es sich um keine ILE-Programme handelt, sind die Programme dann mit OPTION *SRCDBG umgewandelt?
2. Gibst Du beim STRDBG OPMSRC = *YES an?
3. Was passiert, wenn Du einen Break Point auf dass Call-Statement setzt und wenn dieser Break Point erreicht ist F22 gedrückt wird?
4. Bist Du sicher, dass der Call auch wirklich ausgeführt wird?
5. Da es sich um OPM-Programme handelt, hast Du versucht deine Programme mit STRISDB zu debuggen?
Der funktionniert sicher unter V4R2M0 und mit RPGIII-Programmen.
Birgitta
-
Hallo Leute,
für nicht-ILE-Programme empfehle ich STRISDB, bevor dann aus dem gedebuggten Programm (hier CLP) ein CALL erfolgt, kann man das nächste Programm mit ADDISDBPGM (RPGPGM) hinzufügen, u.s.w.
viel Erfolg,
Robert
-
Hallo Mario,
so was dacht ich mir schon fast.
Aber wie ich grad lese hast eh von
Brigitta ne gute Anleitung bekommen.
Vielleicht noch n kleiner Tip,
nie den Brakepoint am Anfang setzen.
Besser erst mal an einen sicheren Punkt,
der auch 100%tig angesprochen wird.
Debugst Du auch wirklich das richtige Programm?
Mit WRKOBJ *ALL/Programmnamen kannst sehen
ob Du vielleicht das Programm in verschiedenen
Lib's umgewandelt hast.
Nur so nebenbei, manchmal denkt man nicht an
das Einfachste
Gruß aus dem Chiemgau
shorty
-
Wenn wir allerdings von Nicht-ILE sprechen, dann ist das Mittel der Wahl STRISDB. Hiermit kann man mehrere Programme debuggen und sogar schon laufende interactive oder Batch-Programme (sehr wichtig bei vermutetem Endlos-Loop. Außerdem kann man Variable und deren Wert beobachten und verändern (auch sehr wichtig beim Endlosloop; Bezugszahl für Schleife auf *ON setzen und Ende).
Einfach STRISDB und F4 und mit dem Cursor nach ganz oben und F1.
Klaus Hardy
Similar Threads
-
By Rolandus in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 26-09-06, 08:22
-
By ExAzubi in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 06-06-06, 10:28
-
By roli in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 13-03-06, 14:38
-
By Sulla in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 13-03-06, 10:30
-
By Cassius in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 13-06-02, 14:26
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks