> Tech > 7 conseils de débogage

7 conseils de débogage

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Pour ceux d’entre nous qui utilisent encore les bonnes vieilles commandes debug et service job d’écran passif, j’ai rassemblé sept conseils qui peuvent simplifier la vie quand on veut exécuter un job de service ou une session de débogage.

1.Lors de l’exécution de la commande STRSRVJOB, vous pouvez

spécifier simplement le nom du job et sauter le nom de l’utilisateur et le numéro du job, comme dans l’exemple suivant :

STRSRVJOB JOB(DAILYUPD)

S’il n’existe qu’un job avec le nom spécifié, c’est lui qui sera servi. Dans le cas contraire, une liste de tous les jobs portant ce nom va s’afficher, chacun avec son état et date de job ; choisissez simplement celui que vous voulez servir.

2.Si un job batch entre dans un état d’attente de message (MSGW) à cause d’un message d’exception, et si vous avez créé le programme qui s’exécute actuellement avec une information de débogage source, suivez ces étapes pour afficher l’instruction défaillante dans une session de débogage source :

a. Appliquez la commande STRSRVJOB au job qui est actuellement en état d’attente de message.

b. Appliquez la commande STRDBG au nom de programme qualifié du programme défaillant (en spécifiant la bibliothèque, pour éviter des problèmes de liste de bibliothèques). N’oubliez pas de spécifier le mot-clé OPMSRC (*YES) sur la commande STRDBG si le programme en question est du type OPM (Original Programm Model).

c. L’écran Display Module Source s’affiche et toutes les commandes de débogage sont à votre disposition (par exemple pour inspecter les valeurs courantes de diverses variables de programme). Cela peut être très utile pour déceler la cause réelle d’une défaillance du programme.

3. Si plusieurs sessions de terminal actif sont ouvertes et si vous oubliez laquelle est actuellement en mode débogage, exécutez la commande Display Debug (DSPDBG) pour identifier la session en mode débogage. Le panneau résultant (figure 2) affiche aussi les attributs de débogage courants.

4.Si vous devez changer un ou plusieurs attributs de débogage après que la session de débogage ait été activée – par exemple, pour permettre une mise à jour des fichiers de production – exécutez la commande Change Debug (CHG DBG). La figure 3 montre l’invite de commande CHGDBG affichant tous les attributs éligibles au changement dans une session de débogage active.

5. Si vous êtes en train de servir un autre job sur le système – par exemple, pour exécuter une session de débogage sur un programme dans ce job – vous pouvez utiliser la commande Display Service Status (DSPSRVSTS) pour vérifier à partir de quelle session de terminal vous avez exécuté la commande STRSRVJOB. Vous pouvez aussi visualiser l’état du service courant, y compris l’information sur le job qui est actuellement servi et si l’état de débogage est actuellement actif.

6.Vous pouvez exécuter la commande DSPSRVSTS à partir d’un job pour vérifier ou révéler qu’il est actuellement servi par un autre job. Le panneau Display Service Status résultant contient des informations identifiant le job qui a émis la commande STRSRVJOB vis-à-vis de votre job.

7. Les étapes de préparation de débogage pour un job batch sont les suivantes :

a. Soumettre le job batch à une file d’attente de jobs à l’aide de la commande Submit Job (SBMJOB). Il est important de spécifier HOLD(*YES) sur la commande SBMJOB : SBMJOB CMD(CALL PGM(QGPL/CBX001)) JOB(TEST) HOLD(*YES)

b. Commencez à servir le job batch soumis. À partir de votre session interactive, exécutez la commande STRSRVJOB sur le job que vous venez de soumettre : STRSRVJOB JOB(TEST)

c. Exécutez la commande STRDBG sur le programme que vous voulez déboguer : STRDBG PGM(QGPL/CBX001) Quand le panneau Display Module Source apparaît, appuyez sur F12 pour continuer.

d.Libérez le job soumis de votre session interactive. Cela a pour effet d’afficher le panneau Start Serviced Job, où vous appuyez sur F10 pour aller à l’affichage Command Entry.

e.Emettez la commande DSPMODSRC et entrez les points de rupture appropriés dans votre programme en utilisant la touche F6 et la position du curseur. Cela étant fait, appuyez sur F12.

f.Quittez l’affichage Command Entry en appuyant sur F3. Vous revenez au panneau Start Serviced Job, où vous appuyez sur Entrée pour démarrer la session de débogage.

Par Carsten Flesburg

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010