Contents Up Previous Next

Stratégies de débogage

Pensée positive
Simplifier le problème
Utiliser un débogueur
Utiliser les fonction de journalisation
Utiliser les fonctionnalités de débogage de wxWidgets


Pensée positive

Il est courant de laisser passer le problème dans notre imagination, de sorte qu'il semble menacer des semaines, des mois voir des années de travail. Le problème que vous rencontrez peut sembler insurmontable : mais il ne l'est quasiment jamais. Après avoir programmé pendant un certain temps, vous serez capables de vous remémorer des incidents similaires qui vous ont jetés dans les profondeurs du désespoir. Mais souvenez-vous, vous l'avez toujours résolu, en quelque sorte !

La persévérance est souvent la clef, même si un problème d'apparence anodine peut demander une grande quantité de temps pour être résolu. A la fin, vous vous demanderez probablement pourquoi vous vous êtes autant inquiétés. Cela ne veut pas dire que ce n'était pas douloureux à l'époque. Essayez de ne pas vous inquiéter -- il y a tellement de choses plus importantes dans la vie.


Simplifier le problème

Réduire le code contenant le problème au plus petit programme possible. Si cela n'est pas possible de réduire un grand et complexe programme, vers un programme suffisament petit, alors, essayez de vous assurer que votre code ne cache pas le problème (vous vouliez peut-être essayer de minimiser le problème, mais maintenant, vous voulez l'exposer).

Avec un peu de chance, vous pouvez ajouter une petite portion de code qui fera passer votre programme d'un état de fonctionnement à un état de non-fonctionnement. Cela devrait vous donner une idée du problème. Dans certains cas, tesl que les fuites mémoires ou les mauvaises désallocations, cela peut donner des résultats totalement faux !


Utiliser un débogueur

Cela ressemble un peu à un conseil facétieux, mais il est surprennant de constater le nombre de fois où les gens n'utilisent pas un débogueur. Il s'agit souvent d'un travail supplémentaire d'installer et d'apprendre à utiliser un dobugueur, mais cela est vraiment essentiel pour tous les programmes, sauf les plus futiles.


Utiliser les fonction de journalisation

Il existe une grande variété de fonctions de journalisation que vous pouvez utiliser dans votre programme : voir Fonctions de journalisation.

Utiliser des états de traçage peut être plus pratique que d'utiliser un débogueur dans certains cas (tels que quand votre débogueur ne supporte pas un grand nombre de code de débogage, ou que vous voulez afficher un tas de variables).


Utiliser les fonctionnalités de débogage de wxWidgets

Vous pouvez utiliser wxDebugContext pour vérifier les fuites mémoires et les zones mémoires corrompues : en fait, en mode debug, wxWidgets vérifiera automatiquement les fuites mémoires à la fin des programmes si wxWidgets est configuré correctement. En fonction de votre système et de votre compilateur, plus ou moins d'informations spécifiques au problème seront journalisées.

Vous devriez également utiliser les macros de débigage en tant que stratégie de 'programmation défensive', en dispersant litéralement les wxASSERT pour tester les problèmes dans votre code aussi souvent que possible. Un réflexion préventive vous permettra d'éconimiser une quantité surprenante de temps à long terme.

Voir la vue d'ensemble du débogage pour plus d'informations.