Tivoli Service Desk 6.0 Developer's Toolkit - Outils et utilitaires
Retour à la table des matières
Le débogueur de Developer's Toolkit permet de déboguer les programmes Developer's Toolkit. A l'aide de ce débogueur, vous pouvez examinez l'exécution étape par étape du code d'exécution.
Les sections ci-après décrivent les techniques de base d'utilisation du débogueur de Developer's Toolkit. Vous trouverez davantage d'informations sur les différents afficheurs dans les chapitres qui suivent.
Vous pouvez lancer le débogueur de plusieurs manières. Le débogueur démarre en mode pas à pas, ce qui signifie que l'exécution du code s'interrompt. Vous pouvez ensuite utiliser les modes Avance d'un pas avec entrée, Avance d'un pas sans entrée ou Avance avec sortie pour déboguer le code. Pour plus de détails, reportez-vous à la section Fonction de suivi des chemins d'exécution dans le code.
KML -t <nom du fichier .kbc>
Remarque : Le <nom du fichier .kbc> doit être en format compilé ou analysé pour qu'il puisse s'exécuter.
Si vous choisissez d'ouvrir le débogueur, la ligne qui s'exécutait lorsque l'erreur s'est produite est sélectionnée. Si le fichier debug510.dll n'est pas présent, tous les messages d'erreur reçus ne contiennent pas l'option permettant de lancer le débogueur de Developer's Toolkit.
Remarque :
Le menu Exécuter contient deux options permettant de sortir du débogueur de Developer's Toolkit : Fermer et Abandonner.
le débogueur de la boîte à outils permet d'effectuer le débogage sans disposer du code source réel. (Le code présent dans le débogueur n'est pas une copie exacte du code source.) La réorganisation du code source entraîne les modifications suivantes :
Source | Débogueur de Developer's Toolkit |
x :=3*(5+4); | x := 27; |
Source | Débogueur de Developer's Toolkit |
x :=c *(a+b); | x :=c*a+b; |
Source | Débogueur de Developer's Toolkit |
3 June 1997 | 6, 3, 1997 |
Le débogueur de Developer's Toolkit est doté d'un afficheur de code qui affiche tous les modules dans un fichier .kb. Ces modules sont les suivants :
L'onglet Fonctions lexicales, situé à droite de l'afficheur de code, permet de visualiser avec une grande précision la structure d'une application. Il contient l'arborescence des modules de votre fichier, ainsi que les fonctions correspondantes dans chaque module.
Pour sélectionner une fonction à visualiser :
Remarque : Le débogueur de la boîte à outils du développeur affiche automatiquement les fonctions lorsqu'il rencontre un point d'arrêt. Pour plus de détails sur les points d'arrêt, reportez-vous à la section Points d'arrêt du présent chapitre.
Les afficheurs de variables permettent de visualiser les données de stockage et les chemins d'accès des variables locales et globales.
Vous pouvez afficher une variable de la manière suivante :
Un afficheur de variables affiche les informations relatives à toutes les zones d'un enregistrement. Si la valeur d'une zone est modifiée, l'afficheur de variables est regénéré dans sa totalité.
Remarque : Si l'enregistrement accessible via l'afficheur de variables est volumineux, la regénération de l'afficheur peut prendre un certain temps.
Pour définir une variable en vue de la regénération automatique :
Remarque : Un afficheur de variables peut rester ouvert dans le débogueur pendant que vous utilisez une application.
Vous pouvez fermer la fenêtre des variables uniquement de manière manuelle en sélectionnant le menu système ou en sélectionnant Fermer dans la boîte de dialogue Afficheur de variables.
La pile est située en dessous de l'afficheur de code. Si vous cliquez sur une fonction dans la pile, cette fonction apparaît dans l'afficheur de code, la ligne courante étant mise en évidence.
Remarque : Les fonctions de Developer's Toolkit sont récursives ce qui signifie que vous pouvez entrer plusieurs fois dans une fonction dans la même session du débogueur de la boîte à outils. Le nom de la fonction apparaît dans l'afficheur de pile lors de chaque entrée.
Lorsque vous sortez d'une fonction, son nom disparaît de la pile.
Le débogueur de la boîte à outils du développeur permet de suivre le chemin d'exécution d'une application. Pour ce faire, le débogueur fournit trois options :
Avancer d'un pas avec entrée exécute la ligne de code suivante et, s'il existe un appel de fonction, entre dans la fonction. Avancer d'un pas sans entrée exécute la ligne de code suivante sans entrer dans les appels de fonction. Avancer avec sortie exécute le code jusqu'à la fin de la fonction en cours.
Vous pouvez effectuer ces trois opérations sur le code en sélectionnant ces options dans le menu Exécuter ou en cliquant sur les boutons correspondants dans la barre d'outils du débogueur. Il existe également des raccourcis clavier :
Lorsque vous utilisez le débogueur de la boîte à outils, vous travaillez via différents niveaux d'appels de fonction. Chaque fonction peut comporter des appels de fonction intégrés.
Le débogueur de la boîte à outils de développeur permet d'entrer dans les fonctions du code et de visualiser les actions définies dans la fonction. Lors de cette opération, prenez note des remarques suivantes :
Pour avancer d'un pas avec entrée dans le code, procédez de l'une des manières suivantes :
Vous pouvez continuer à avancer d'un pas dans une fonction pour atteindre l'action suivante définie dans la fonction. Il se peut que vous rencontriez une instruction END. A ce stade, si vous appuyez de nouveau sur Ctrl + I, vous retournez à votre point d'entrée dans le code.
Lorsque vous effectuez l'avance avec sortie dans une fonction, la fonction, procédure ou gestionnaire d'événements en cours est exécuté sans activation de la fonction de trace. Vous ne voyez pas l'exécution ligne par ligne du code. La fonction de trace reprend à la première instruction après l'appel.
Remarque : Si vous procéder à cette opération dans un gestionnaire d'événements, le traçage reprend à l'instruction ayant généré l'événement. Si plusieurs événements ont été générés, le traçage reprend au début de l'événement suivant.
Vous pouvez avancer et sortir du code lorsque l'exécution est arrêtée dans le corps d'une fonction ou d'un gestionnaire d'événements. Vous pouvez également le faire si l'exécution s'est arrêtée à un point d'arrêt.
Procédez de l'une des manières suivantes :
Vous pouvez également effectuer l'avance d'un pas sans entrée dans le code. Cette opération active la fonction de trace du chemin d'exécution au niveau des instructions. L'exécution continue jusqu'à ce que l'instruction suivante soit atteinte.
Remarque : l'exécution s'arrête si des erreurs se produisent ou s'il existe des points d'arrêt dans la fonction concernée.
Procédez de l'une des manières suivantes :
Les points d'arrêt constituent une méthode d'arrêt de l'exécution du code d'exécution à des fins de vérification du statut en cours de l'exécution. Lorsqu'un point d'arrêt est rencontré pendant l'exécution, le débogueur de la boîte du développeur affiche la fonction avec la ligne contenant le point d'arrêt sélectionné.
Remarque : Ne définissez pas de points d'arrêt dans un gestionnaire d'événements lorsqu'il traite $MsgDDEInitiate. $MsgDDEInitiate diffuse un message aux applications et verrouille la file d'attente des messages jusqu'à ce qu'une réponse soit renvoyée. Le lancement d'un point d'arrêt initie un gestionnaire d'événements en attente d'une réponse de la file d'attente des messages (verrouillée). Ceci entraîne un blocage qui verrouille l'interface utilisateur.
Les points d'arrêt temporaires existent uniquement lors de l'exécution d'un programme de la boîte à outils du développeur. Ils sont automatiquement effacés lorsque vous quittez la session du débogueur. Vous pouvez définir ces points d'arrêt lorsque vous interagissez avec les afficheurs de fonctions.
Pour définir un point d'arrêt temporaire :
Remarque : Les points d'arrêt temporaires doivent être définis dans les instructions pouvant être exécutées. Vous ne pouvez pas définir de points d'arrêt sur les lignes commençant pas les instructions ELSE et ELSEWHEN.
Vous pouvez placer des points d'arrêt statiques dans le code source de programmes de la boîte à outils du développeur à l'aide de l'instruction BreakPoint. Une instruction BreakPoint peut être ajoutée aux endroits intéressants tels que le début d'un appel de fonction ou d'un événement. Ceci vous permet d'arrêter l'application à un point d'arrêt logique et d'examiner l'état en cours de l'application. Le seul moyen de supprimer une instruction BreakPoint consiste à la supprimer du code source et de réanalyser l'application.
Vous pouvez créer une option de menu à associer à l'instruction BreakPoint. Ceci vous permet de lancer le débogueur de Developer's Toolkit à partir de l'application.
Le débogueur de la boîte à outils du développeur ne s'exécute pas si le fichier debug510.dll est inexistant.
Vous pouvez déboguer les fenêtres et les boîtes de dialogue en définissant un point d'arrêt à l'aide de WinCreate et de DlgCreate. Ces instructions identifient les gestionnaires d'événements qui traitent les événements de fenêtre.
Pour lancer la fonction de trace de l'exécution de WinCreate, procédez à l'avance d'un pas avec entrée dans WinCreate et sortez de chaque message généré.
Remarque : N'utilisez pas le débogueur de la boîte à outils du développeur pour lancer la fonction de trace du traitement du tracé, de l'activation ou de la souris.
Tivoli Service Desk 6.0 Developer's Toolkit - Outils et utilitaires
Retour à la table des matières
-->