Déboguer un SCRIPT à l’aide de PRiSM
Le débogueur est intégré à PRiSM afin de corriger
facilement des scripts .PGM .
Il y a deux façons d'y accéder :
Une fois le déboggeur ouvert, on peut remarquer qu'il se compose de trois parties principales :
On rappelle qu'il est impossible, à l'heure actuelle, de modifier le programme à partir de la fenêtre du déboggeur.
L'exécution du programme peut être vue à partir de ce dernier bien que les résultats dus à l'instruction "PRINT" s'affiche dans la fenêtre d'exécution classique. En voici la description des différents éléments :
Durant l'exécution du Script, au fur et à mesure
que les fonctions sont exécutées, le débogueur affiche les
variables numériques et de chaînes utilisées, ainsi que leur valeur
numérique ou de caractères en face.
Attention : les variables images, graphiques et textes ne sont pas
affichées.
Remarque : le fait d'utiliser le débogueur ralenti un peu l'exécution du script ... même si l'exécution a lieu d'un trait.
Exemple d'application :
Considérons le programme suivant qui possède un bug très banal ! (le but de cette aide n'est pas d'étudier les cas les plus durs !). Copiez et collez le programme ci-dessous dans un fichier texte que vous appellerez par exemple "BUGS.PGM"
REM Test des fonctions Stat et StatWindow REM Stat calcule les informations statistiques sur la totalité de l'image REM StatWindow calcule les informations statistiques sur une fenêtre de l'image PRINT " Démarrer le débogueurs ou continuer " PAUSE GetImage Img Stat Img Moyenne MoyenneQuadratique EcartType Max Min Flux Mediane Print "Moyenne=" Moyenne Print "MoyenneQuadratique=" MoyenneQuadratique Print "EcartType=" EcartType Print "Max=" Max Print "Min=" Min Print "Flux=" Flx Print "Mediane=" Mediane |
Le lancer d'une façon ou d'une autre afin d'ouvrir le déboggeur. Une commande "PAUSE" a été introduite afin de pouvoir lancer le déboggeur à partir de l'icône. Mais on peut aussi utiliser le menu pour le lancer directement.
Si on exécute directement ce programme, on se rend vite compte qu'il réalise la statistique de la totalité d'une image et qu'il affiche les principaux résultats mais qu'il renvoie le message d'erreur suivant : " Variable FLX non reconnue " : Il y a donc une variable non déclaré. Un coup d'oeil avec un éditeur de texte et l'erreur serait vite réparé mais ce n'est pas le but de cette partie, alors, utilisons le déboggeur.
On peut, d'une part, exécuter les commandes pas à
pas ...
Le plus simple est de poser des points d'arrêts à des niveaux
stratégiques du script.
Après avoir ouvert le déboggeur, on posera alors un point d'arrêt
au niveau de la fonction pour verifier que le mauvais
fonctionnement ne vient pas d'elle.
Les commandes à venir sont des commandes
d'affichage. On les exécutera pas à pas grâce à la touche "
PAUSE " afin de vérifier que le disfonctionnement ne vient
pas de l'une d'elle.
Lorsqu'on lance l'exécution du script grâce à la commande ,
le programme s'exécute jusqu'à la fonction " Stat ".
Les variables correpondantes prennent alors des valeurs qui sont
affichées dans la partie correspondante.
Cependant, l'erreur ne semble pas là !
On exécute alors la suite du script pas à pas et on suivant en même
temps la petite flèche rouge indiquant la fonction
exécutée par le programme. A partir du moment où on arrive sur le
flux, l'erreur est décelée et alors facilement corrigible grâce à
n'importe quel éditeur de texte.