février
2011
Parfois, on est dans l’obligation de déboguer un programme lancé en mode batch. La procédure étant différente de celle utilisée pour déboguer un programme en interactif (un simple STRDBG suivi d’un CALL du programme en question).
Tout d’abord, votre programme (qu’on appellera désormais TESTCOBOL) doit être compilé avec l’option DBGVIEW = *Source ou *ALL ou *LIST
Cette procédure a été testé sur un programme COBOL ILE.
La démarche :
1. On va lancer notre programme TESTCOBOL en mode HOLD = YES via la commande :
SBMJOB CMD(CALL PGM(TESTCOBOL)) JOB(TESTJOB) HOLD(*YES)
2. Après exécution de cette commande, vous verrez en bas un numéro attribué au job lancé, du genre : Travail 020914/MYUSER/TESTJOB soumis à la file d’attente QS36EVOKE de QGPL. On notera quelque part ceci : 020914/MYUSER/TESTJOB
3. On lance la commande STRSRVJOB JOB(020914/MYUSER/TESTJOB)
4. On lance le débogage de notre programme comme suit : STRDBG PGM(TESTCOBOL) UPDPROD(*YES)
A présent, on ne peut pas mettre de point d’arrêt sur le source affiché, ce point sera ajouté plus tard. Si vous essayez d’ajouter un point d’arrêt à ce stade vous aurez comme message : Commande non admise quand le travail en maintenance n’est pas actif.
5. On lance la commande pour libérer le job précédemment holdé via la commande : RLSJOB JOB(020914/MYUSER/TESTJOB))
. On aura le message suivant sur l’écran :
Le travail en maintenance a été libéré de la file d’attente de travaux.
Appuyez sur ENTREE pour démarrer ce travail ou sur F10 pour entrer des
commandes de débogage le concernant.
6. On tape F10 et saisissez la commande DSPMODSRC
et tapez entrée.
7. On a devant nous le source de notre programme lancé en mode débogage, on peut maintenant y ajouter un point d’arrêt et faire F12.
8. On fait F3 pour revenir sur l’écran ou est affiché :
Le travail en maintenance a été libéré de la file d’attente de travaux.
Appuyez sur ENTREE pour démarrer ce travail ou sur F10 pour entrer des
commandes de débogage le concernant.
9. On appuie sur entrée, notre programme est lancé en débogage
10. Bonne lecture