Qu'est-ce que Table de trace (trace manuelle) ?
Table qui consigne l'évolution des valeurs des variables lorsqu'on exécute à la main un programme ligne par ligne. Elle sert à vérifier le nombre d'itérations et les valeurs finales, et à localiser les erreurs. Comme elle se fait sur papier, on parle aussi de trace manuelle (desk checking).
Nom japonais: トレース表
« Table de trace (trace manuelle) » apparaît dans 1 questions d'entraînement réparties sur 1 thèmes, dont Bases de la programmation (trace de pseudo-code).
Domaine: Bases de la programmation (trace de pseudo-code)
Construire une table de trace
On place en colonnes chaque variable et la valeur de vérité des conditions, puis on inscrit les valeurs une ligne à la fois, dans l'ordre d'exécution. Pour un programme qui part de x ← 1 et répète x ← x × 3 tant que x < 100, la colonne de x prend les valeurs 1, 3, 9, 27, 81, 243, et la condition devient fausse au sixième test. N'inscrire que les variables dont la valeur change rend la table plus lisible.
Questions fréquentes
En quoi la trace diffère-t-elle de l'exécution pas à pas dans un débogueur ?
Les deux suivent le comportement ligne par ligne, mais une table de trace est remplie par une personne sur papier, tandis qu'un débogueur exécute réellement le programme en le mettant en pause au fur et à mesure. Lors d'un examen, on ne dispose d'aucun environnement d'exécution : savoir vérifier avec une table de trace est donc indispensable.
Faut-il tracer entièrement une longue boucle ?
Tracer les premières itérations pour trouver la règle d'évolution des valeurs permet souvent de calculer le reste. Il faut cependant toujours vérifier la dernière itération et la condition de sortie, pour éviter les erreurs off-by-one.