9.3 Débogueur
Dernier raffinement : l’exécution en mode pas à pas du code
source. Cela se fait en l’exécutant avec le débogueur, dans le menu
contextuel choisir la commande Debug it. Le débogueur est
invoqué sur la première ligne, le code s’exécute pas à pas avec le
bouton Over. Dans la partie basse à droite, les variables
locales et leur contenu est consultable et modifiable.
Figure 9.6: Le débogueur Dr.Geo
Quelques précisions concernant l’interface du débogueur
s’imposent :
- Stack. Ce panneau indique la pile d’exécution des objets
invoqués. Ce n’est pas utile lors de l’écriture du code source d’une
figure depuis un espace de travail.
- Proceed. Ce bouton permet de reprendre l’exécution normale
du code.
- Restart. Pour reprendre l’exécution pas à pas du programme
depuis le début de la méthode, c’est à dire le début du code source
de la figure.
- Into. Exécuter l’instruction mise en évidence, et suivre le
message envoyé dans la méthode invoquée.
- Over. Exécuter l’instruction mise en évidence, et reprendre
le contrôle après le message envoyé, c’est à dire à l’instruction
suivante.
- Through. Exécuter l’instruction suivante, ne pas suivre le
message envoyé mais exécuter pas à pas les éventuels blocs de code en
arguments du message. Utile par suivre l’exécution dans un bloc de
code.
- Source. Ce panneau contient le code source exécuté avec
mise en évidence de l’instruction suivante à exécuter. Il offre
également un menu contextuel avec quelques fonctions intéressantes
comme “Run to here” pour exécuter le programme jusqu’à la ligne où
aura été placé le curseur d’insertion textuelle.
Comme montré dans une section précédente, le débogueur permet
l’exécution en mode pas à pas. Il s’invoque aussi à n’importe quel
moment avec le raccourci clavier Alt-. (Alt + point).
En outre, le débogueur s’enclenche également par programmation,
directement dans le code source en ajoutant une ligne self
halt.
Dans notre exemple précédent, nous pouvons modifier le code
source comme suit :
...
p:=figure point: -1 @ 0.
p hide.
sommets add: p.
self halt.
-1 to: 1 by: 0.1 do: [ :x |
p:=figure point: x @ (fonction value: x).
sommets add: p hide].
...
Lorsque ce code est compilé et exécuté, le programme est stoppé. Dans
la fenêtre qui s’affiche alors, il est demandé de faire un
choix :
- Proceed. Reprendre l’exécution du programme à partir de
l’instruction suivante
- Abandon. Stopper l’exécution du programme
- Debug. Invoquer le débogueur, une fenêtre identique à la
figure précédente s’affiche alors pour exécuter pas à pas le
programme et examiner les objets du programme.