Rappel et nouveautés autours du DEBUG ILE

BoTTom |    Changer de couleur
Quelques rappel sur le debug ILE :
 
+ vous ne pouvez plus utiliser ISDB
 
+ vous devez compiler avec DBGVIEW(*SOURCE) sur la cde de compilation.
 
+ vous visualiser le source en lancant le debug par STRDBG
 
  - positionnez vos point d'arrêt par F6
 
  - retrouvez la ligne de commande par F12
 
  - lancez votre programme de la manière qui vous convient
 
F10 permet de faire du pas à pas: un call = un arrêt.
F22 permet de faire du pas à pas: un call = on fait du pas à pas dans le pgm.
F11 de voir le contenu d'une variable
F14 permet de gérer la liste des modules à mettre au point
F16 Autorise ou non la mise à jour des fichiers de production
F21 affiche une ligne de commande
 
F1 affiche l'aide qui est trés détaillée


|    Changer de couleur
 
 Quelques commandes du Debug :
 
 Attr : permet de visualiser la définition d'une variable
 
 Eval : permet de
 
        1/ - voir le contenu d'une variable    [eval nbr]
             voir en hexa                      [eval nbr:x lg]
 
        2/ - changer le contenu d'une variable [eval nbr = 1]
 
 Break : définition d'un point d'arret simple
 
   ou    définition d'un point d'arret conditionnel [break 10 when nocli=0]
 
 Step  : définition de critères de saut (saut de N instructions)
 
 find  : recherche 1/ d'une chaîne de caractère.
                   2/ d'un numéro d'instruction.
 
 watch : définition d'un point d'arrêt à appliquer quand la variable change


|    Changer de couleur
 
 Quelques fonctions intégéres:
 
 %SUBSTR(var D L)
    permet de faire une extraction de variable
 
    lors d'un eval : eval %substr(RAISOC 1 3), affiche les 3 premiers car.
                     eval %substr(RAISOC 1 3) = 'abc', modifie 3 car.
 
    pour un watch  : watch %substr(nom 20 2)
 
 %ADDR(var)
    retourne l'adresse (pour un pointeur) d'une variable
 
 %INDEX()
    positionne sur une occurence d'une DS à occurences (RPG uniquement)
 
 %VAR()
    permet de travailler avec une variable nommée "eval" "watch" ou "break"
 
 %LOCALVARS
    affiche la liste des variables locales (sauf CL)


|    Changer de couleur
 
 
+ vous pouvez debuger un ensemble de programmes ILE et OPM.
 
  a/ compilez vos programmes OPM (CL, RPG) avec OPTION(*SRCDBG)
 
  b/ lancez le debug avec OPMSRC(*YES)
 
 
 
+ vous pouvez indiquer directement lors du lancement
 
  - 20 noms de programmes
 
  - 20 noms de programmes de service
 
ce qui vous évitera de faire F14.
 
+ vous pouvez faire du debug avec un pgm s'exécutant en batch.
 
  suivez la procédure ci-dessous :
 


|    Changer de couleur
 
lancez votre pgm batch par
 
       SBMJOB CMD(CALL .....) HOLD(*YES)
 
mettez le travail batch en maintenance
 
       STRSRVJOB JOB()
 
lancez le debug
 
       STRDBG PGM(...)
 
       ne positionnez pas de point d'arrêt, le système le refuse tant que
        job n'est pas actif.
 
libérez le job
 
       RLSJOB ou WRKUSRJOB et option 6
 
le système vous informe alors de la libération du job par le message suivant
 


|    Changer de couleur
                     Démarrage d'un travail en maintenance 
                                                            Système:   xxx
 Travail:   QDFTJOBD       Utilisateur:   AF400CM        Numéro:   082489
 
 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.
___________________________________________________________________________
 
vous devez alors faire F10, puis lancer la commande DSPMODSRC mon-pgm
 
le source apparait à l'écran vous donnant la possibilité de poser vos
 premiers points d'arrêt.
 
sortez et revenez à l'écran "Démarrage d'un travail en maintenance",
faites alors ENTREE, pour que le job démarre réellement.
 
le pgm batch sera suspendu à chaque point d'arrêt, le source vous étant
    affiché.Il reprendra lorsque vous ferez F10(ligne suivante) ou F12
    (point d'arrêt suivant).
 
NE FAITES PAS F3 qui annule le pgm !


|    Changer de couleur
 
  pensez aux options en spécif H RPG-IV :
 ------------------------------------------
 
 OPTION(*SRCSTMT)    => N° d'instruction = N° de ligne source
 
 
 OPTION(*NODEBUGIO)  => un read = une seule instruction, donc un arrêt.
 
 
ces options sont intégrées dans la version 4.40 (via PTF avant)
 
 
 
Pour terminer, depuis la V4R50, si vous positionnez la variable
  d'environnement ILE_DEBUGGER_1  à ALLOW_WIDE_SCREEN, l'affichage
  se fera sur un écran 132 colonnes (si votre terminal le permet) :
 
     ADDENVVAR ENVVAR(ILE_DEBUGGER_1)
           VALUE(ALLOW_WIDE_SCREEN)
           LEVEL(*JOB) REPLACE(*YES)




©AF400