[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2004
    Beiträge
    923
    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

  2. #2
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    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.
    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

  4. #4
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Zitat Zitat von kuempi von stein Beitrag anzeigen
    ...
    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

  1. AS400 Mod 150
    By Pepi in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 21-07-05, 22:13
  2. Embedded SQL Kommando
    By woki in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 16-12-04, 19:28
  3. Embedded SQL Kommando
    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
  •