-
Gemeinsames Kommando für STRDBG/STRISDB ?
Hallo,
nachdem ich mich lange genug damit rumgeärgert habe, dass ich vor dem Debug immer raten muss, ob das Programm sich mit STRDBG oder mit STRISDB verarbeiten lässt, will ich das mal ändern.
Ich möchte nicht alle bestehenden Programme neu wandeln, deshalb kam ich auf die Idee, ein eigenes Kommando zu erstellen, das abh. vom Programmobjekt den entspr. Debugger aufruft.
Dafür müsste ich aber dem Objekt ansehen, wie es umgewandelt wurde.
Wisst Ihr vielleicht, ob man diese Info per Programm rausbekommen kann?
Bei RTVOBJD fand ich zumindest nichts.
Gruß
Christian
-
Hallo,
so ganz verstehe ich noch nicht.
Was meinst Du mit "wie es umgewandelt ist"?
Ich dachte immer STRDBG geht immer und STRISDB nur bei OPM RPG, CLP und COBOL?
Sprich ILE mit STRDBG und den Rest mit STRISDB? Ist das Dein Ziel?
Dann sollte doch aber RTVOBJD funktionieren? Da gibt es doch den Parameter OBJATR?
Und ansonsten könnte man ja im CL immer erst mit STRISDB versuchen, Fehlermeldung abfangen und wenn Fehler dann eben STRDBG?
kuempi
-
Hallo,
beim wandeln kann ich bei "alten" Programmen z.B. sagen:
... OPTION(*LSTDBG),
dann kann ich anschließend sogar RPT-Programme mit STRDBG debuggen mit:
STRDBG ... OPMSRC(*YES)
Nur sind halt noch viele alte Programme nicht so umgewandelt. Da bringt STRDBG keinen Fehler, aber tut halt nicht.
Gruß,
Christian
-
Da gibt es leider nur MI-Befehle.
An jedem Objekt kann ein Space-Objekt "angehängt" werden.
Mit den entsprechenden MI's kann man darauf zugreifen um die Existenz von Debugdaten zu prüfen.
Übrigens:
STRDBG geht immer, nur nicht immer im Source-Mode.
Wenn man noch einen Spool hat, kann man mit ADDBKP, DSPPGMVAR u.ä. das Programm testen.
Zugegeben, nicht sehr komfortabel.
-
 Zitat von kuempi von stein
...
Und ansonsten könnte man ja im CL immer erst mit STRISDB versuchen, Fehlermeldung abfangen und wenn Fehler dann eben STRDBG?
kuempi
das war eine gute Idee!
Sorum habe ich es nicht hinbekommen, da ich nach Möglichkeit STRDBG verwenden möchte und nicht den ISDB.
Aber einfach STRDBG aufrufen und dann schauen, wie der Debugger reagiert, das geht.
Wen es interessiert hier das Ergebnis:
Code:
CMD PROMPT('Starten Debugger abh. vom Typ')
PARM KWD(PGM) TYPE(OBJ1) MIN(1) +
PROMPT('Programmname')
PARM KWD(SRCM) TYPE(*CHAR) LEN(10) CHOICE('Name') +
PROMPT('Quelle Teildatei')
PARM KWD(SRCF) TYPE(OBJ2) MIN(1) PROMPT('Quelle +
Datei')
OBJ1: QUAL TYPE(*NAME) LEN(10) CHOICE('Programmname')
QUAL TYPE(*NAME) LEN(10) CHOICE('Bibliothek')
OBJ2: QUAL TYPE(*NAME) LEN(10) CHOICE('Dateiname')
QUAL TYPE(*NAME) LEN(10) CHOICE('Bibliothek')
Code:
PGM PARM(&PGMOLB &SRCMBR &SRCFLB)
DCL VAR(&PGMOLB) TYPE(*CHAR) LEN(20)
DCL VAR(&SRCMBR) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFLB) TYPE(*CHAR) LEN(20)
DCL VAR(&PGMLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&PGM ) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFIL) TYPE(*CHAR) LEN(10)
DCL VAR(&MHKTOOL) TYPE(*CHAR) LEN(10)
/* Standardwerte + Initialisierungen */
CHGVAR VAR(&PGM ) VALUE(%SST(&PGMOLB 1 10))
CHGVAR VAR(&PGMLIB) VALUE(%SST(&PGMOLB 11 10))
CHGVAR VAR(&SRCFIL) VALUE(%SST(&SRCFLB 1 10))
CHGVAR VAR(&SRCLIB) VALUE(%SST(&SRCFLB 11 10))
IF COND(&SRCMBR = ' ') THEN(CHGVAR VAR(&SRCMBR) +
VALUE('*N'))
IF COND(&SRCFIL = ' ') THEN(CHGVAR VAR(&SRCFIL) +
VALUE('*N'))
IF COND(&SRCLIB = ' ') THEN(CHGVAR VAR(&SRCLIB) +
VALUE('*N'))
/* Debugger prüfen */
STRDBG PGM(&PGMLIB/&PGM)
DSPBKP OUTPUT(*PRINT) PGM(*ALL)
MONMSG MSGID(CPF1906 CPF1999) EXEC(GOTO +
CMDLBL(L_STRDBG))
ENDDBG
DLTSPLF FILE(QPDBGDSP) SPLNBR(*LAST)
MONMSG MSGID(CPF0000)
L_ISDB:
STRISDB PGM(&PGMLIB/&PGM) SRCMBR(&SRCMBR) +
SRCF(&SRCLIB/&SRCFIL)
MONMSG MSGID(CPF0000) EXEC(DO)
?STRISDB PGM(&PGMLIB/&PGM) SRCMBR(&SRCMBR) +
SRCF(&SRCLIB/&SRCFIL)
ENDDO
GOTO CMDLBL(ENDE)
L_STRDBG:
GOTO CMDLBL(ENDE)
ENDE: ENDPGM
Kann man bestimmt noch verschönern, ist auch nicht auf Herz+Nieren getestet, aber es funktioniert schon mal für RPGLE, RPT mit+ohne *LSTDBG.
Vieren Dank Euch beiden!
Christian
Similar Threads
-
By Pepi in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 21-07-05, 22:13
-
By woki in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 16-12-04, 19:28
-
By haertl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 05-07-04, 07:30
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