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.

mettre un point d'arrêt dans le déboggeur

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.

les variables correspondantes

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.

l'erreur est décelée