> Tech > Déboguer avec *SOURCE

Déboguer avec *SOURCE

Tech - Par iTPro.fr - Publié le 22 novembre 2011
email

Q. J’essaie de déboguer un programme CL en utilisant le mode de débogage *SOURCE qui, je crois, fait une rétroréférence au membre du fichier source pour afficher les instructions HLL originales pendant le débogage.
 

Pour invoquer cela, je règle ainsi l’option Debugging : View : Debugging view . . . . . . . . . *SOURCE

Pour certains programmes CL, tout se passe bien Je peux voir les instructions du programme source lors de l’exécution avec STRDBG. Mais pour d’autres programmes CL, *SOURCE ne fonctionne pas. Cependant, si je spécifie *LIST au lieu de *SOURCE, je peux à nouveau voir le code source pendant le débogage. Quelle est la différence entre les options *SOURCE et *LIST ?

Déboguer avec *SOURCE

Comment déboguer avec *SOURCE ?

R. À partir de la V3 de l’OS/400, IBM a mis à niveau la commande Start Debug (STRDBG ) pour qu’elle soit aussi un débogueur interactif. Contrairement à ISDB, elle fonctionne avec tous les langages que l’on rencontre sur l’iSeries, y compris tous les langages ILE, les langages OPM (le original program model qui précédait ILE), et même Java. Qui plus est, elle peut travailler avec tous ces langages à la fois.

Supposons un programme OPM CL qui appelle un programme ILE. La procédure principale du programme ILE est écrite en RPG IV, mais elle appelle des modules supplémentaires écrits en C et COBOL. Avec la touche de fonction « step into », F22, vous pouvez entrer directement dans chacun des programmes et modules au moment où ils sont appelés, en passant de l’un à l’autre de ces langages différents au fil de l’exécution du code. C’est une fonction très utile !

Afin de valider le débogage interactif de vos programmes, vous devez spécifier une vue de débogage au moment de la compilation. Pour cela, utilisez le paramètre DBGVIEW sur l’un des compilateurs ILE. La liste suivante explique les valeurs disponibles :

• DBGVIEW(*STMT) = C’est le paramétrage par défaut, lequel n’inclut que les numéros d’instruction dans la vue. Avec cette option, vous ne pourrez pas déboguer le programme interactivement.

• DBGVIEW(*SOURCE) = Cela permet au débogueur de visualiser le membre source du programme quand vous le déboguez. Le résultat obtenu est semblable à celui de ISDB. Cette option présente un inconvénient : en cas de changement du code source, les résultats risquent d’être incorrects. Par ailleurs, quand votre objet programme est déplacé dans un système de production, le membre source risque de ne pas être disponible comme vous le souhaiteriez.

• DBGVIEW(*LIST) = Une copie du listing de compilation se trouve imbriquée dans votre objet programme. Quand le débogueur visualise votre programme, il utilise cette liste de compilation au lieu de visualiser le membre source. De sorte que si le source est modifié ou indisponible, vous pourrez quand même déboguer le programme. C’est l’option que j’utilise et que je recommande.

Après avoir compilé votre programme avec la vue de débogage appropriée, vous pouvez lancer le débogueur en tapant la commande :

===> STRDBG PGM(myProgram)
….

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par iTPro.fr - Publié le 22 novembre 2011