Vidéo: Langage C Debugger avec CodeBlocks 2024
Parfois, le problème avec vos instructions de programmation C ne peut pas être déterminé simplement en regardant flux de programme. Non, vous devez descendre et sale dans la mémoire et regarder la valeur d'une variable pendant que le code s'exécute. Le débogueur Code:: Block vous permet de regarder n'importe quelle variable dans un programme, en vous montrant le contenu de cette variable pendant l'exécution du programme.
WHERE VARIABLES LURK
#include #include int main () {int x; int * px; px = & x; pour (x = 0; x <10; x ++) printf ("% dn", * px); return 0;}
Exercice 1 : Créer un nouveau code:: Bloque le projet avec le débogage actif. Copiez le code source ci-dessus dans le principal. Fichier c. Construire et courir. Voir si cela fonctionne.
Ce n'est pas le cas, ou il ne devrait pas l'être, sauf si vous avez fait une faute de frappe. Il est temps de déboguer! Suivez ces étapes:
-
Cliquez sur la souris pour le placer au début de la ligne 6, où la variable entière x est déclarée.
-
Cliquez sur le bouton Run to Cursor dans la barre d'outils de débogage.
-
Cliquez sur le bouton Débogage de Windows.
-
Choisissez la commande Montres.
La fenêtre Montres apparaît.
-
Cliquez sur la souris dans la première case bleue de la fenêtre Montres.
-
Tapez x pour la variable x et appuyez sur la touche Entrée.
-
Tapez px sur la ligne suivante pour examiner l'emplacement de mémoire stocké dans le pointeur px. Appuyez sur la touche Entrée.
-
Tapez * px sur la troisième ligne pour examiner le contenu de l'emplacement de mémoire stocké par le pointeur px. Appuyez sur la touche Entrée.
Des valeurs peuvent apparaître pour ces variables, bien que les valeurs ne soient pas initialisées. Par exemple, sur l'écran, la variable x contient la valeur 56, qui est la poubelle aléatoire qui apparaît dans la mémoire avant qu'une valeur lui soit affectée.
Jusqu'à ce qu'une variable soit initialisée, son contenu est indésirable.
-
Cliquez sur le bouton Next Line dans la barre d'outils de débogage jusqu'à ce que le curseur se trouve sur la ligne 10, le début de la boucle for.
Comme la valeur du pointeur px est affectée à l'emplacement mémoire de la variable x , tenez compte de la fenêtre Watches. Instantanément, vous voyez une adresse de mémoire apparaître par variable px, et vous voyez le jeu de variables * px égal à toute valeur attribuée à la variable x . Le pointeur a été initialisé!
-
Cliquez à nouveau sur le bouton Nouvelle ligne.
Lorsque la boucle for commence, elle initialise la valeur de la variable x . Vous voyez ce changement de valeur dans la fenêtre Watches, avec la valeur de * px. La valeur de px (l'adresse de la variable x ) ne change pas.
-
Continuez à parcourir le code pour voir les valeurs changer.
-
Cliquez sur le bouton Arrêter lorsque vous avez terminé.
L'examen des variables en mémoire est un autre bon moyen de voir ce qui se passe avec votre code. Si les variables ne s'affichent pas comme elles le devraient, vous devez vérifier les instructions qui manipulent ces variables.
De plus, en examinant les pointeurs en mémoire, vous pouvez avoir une meilleure idée du fonctionnement des pointeurs.