next up previous contents index
suivant: Présentation générale des instructions monter: Vue d'ensemble de xcas précédent: Éditer, sauver, exécuter un   Table des matières   Index


Débugger un programme avec xcas

Vous avez par exemple un programme syntaxiquement correct, mais qui ne fait pas ce qu'il devrait faire, il faut donc le corriger. Pour utiliser le débuggeur, il faut que ce programme soit syntaxiquement correct.
Avec le débuggeur, on a la possibilité d'exécuter le programme au pas à pas (sst), ou d'aller directement (cont) à une ligne précise marquée par un breakpoint (break), de voir (voir) les variables que l'on désire surveiller, d'exécuter au pas à pas les instructions d'une fonction utilisateur (dans), ou de sortir brutalement du débuggeur (tuer).
On tape : debug(nom _du_programme(valeur_des_ arguments).
Il faut bien sûr que le programme soit validé : si ce n'est pas le cas, on tape, read("toto") si toto est le nom du fichier où se trouve ce programme.
Par exemple, si pgcd a été validé, on tape :
debug(pgcd(15,25))
L'écran du débugger s'ouvre : il est formé par trois écrans :
- dans l'écran du haut, le programme est écrit et la ligne en surbrillance sera exécutée grâce au bouton sst.
- dans l'écran du bas, coté gauche :
on trouve les points d'arrêts, le numéro de la ligne du curseur et la dernière valeur renvoyée. Les points d'arrêts permettent d'aller directement à un point précis. On marque les points d'arrêts grâce au bouton break ou à la commande breakpoint d'arguments le nom du programme et le numéro de la ligne ou l'on veut un point d'arrêt : par exemple breakpoint(pgcd,3). Pour faciliter son utilisation, il suffit de cliquer sur la ligne où l'on veut le point d'arrêt pour avoir : breakpoint dans la ligne de commande, avec le nom du programme et le bon numéro de ligne, puis de valider la commande. Il suffit donc de cliquer et de valider !
- dans l'écran du bas, coté droit, on voit l'évolution des valeurs que l'on a choisit de voir grâce au bouton voir qui écrit la commande watch. On tape alors, les arguments de watch qui sont les noms des variables que l'on veut surveiller, par exemple : watch(a,b,r) et on valide la commande.

Remarques :
On sera obligé, pour réutiliser d'autres points d'arrêts, d'effacer les points d'arrêts utilisés précédemment avec la commande rmbreakpoint qui a les mêmes arguments que breakpoint. Là encore, pour faciliter son utilisation, il suffit de cliquer sur la ligne où l'on veut enlever le point d'arrêt pour avoir : rmbreakpoint dans la ligne de commande, avec le nom du programme et le bon numéro de ligne (Attention si il n'y a pas de point d'arrêt à cet endroit il en mettra un !).
Pour voir d'autres variables il faut aussi effacer les variables désignées précédemment avec la commande rmwatch qui a les mêmes arguments que watch.
Lorsqu'une instruction du programme utilise une fonction définie précédemment, le bouton dans permet d'exécuter aussi pas à pas les instructions de cette fonction (sst_in).
Le bouton tuer permet d'interrompre le debuggage (on sort de l'écran du débugger), et, le bouton cont permet d'aller directement jusqu'au prochain point d'arrêt ou à la fin du programme et de sortir du débugger.


next up previous contents index
suivant: Présentation générale des instructions monter: Vue d'ensemble de xcas précédent: Éditer, sauver, exécuter un   Table des matières   Index
Documentation de giac écrite par Renée De Graeve