CodeGym /Cours /Python SELF FR /PyCharm Debug

PyCharm Debug

Python SELF FR
Niveau 18 , Leçon 3
Disponible

9.1 Démarrer le débogueur

On va explorer le processus de debug basé sur PyCharm, ce qui est logique et agréable. Tu vas voir par toi-même.

Dans PyCharm, tu peux lancer ton programme en deux modes :

Modes d'exécution du programme Icône sur la barre Raccourcis clavier
Exécution normale Shift+F10
Lancer en mode debug Shift+F9

Tu es déjà familier avec le mode normal: le programme se lance, s'exécute et se termine. Mais le mode debug te réserve bien des surprises.

Mode debug

Le mode debug te permet de pas-à-pas exécuter tout ton programme. Ou pour être plus précis, ligne par ligne. Tu peux ainsi observer les valeurs des variables à chaque étape du programme (après l'exécution de chaque ligne de code). Et même les modifier!

Pour maîtriser un minimum l'art du débogage, tu dois apprendre trois choses:

  • Les points d'arrêt
  • L'exécution pas-à-pas
  • Voir les valeurs des variables

9.2 Points d'arrêt (Break Points)

L'IDE te permet de placer des marqueurs spéciaux dans le code — points d'arrêt (break point). Chaque fois que le programme lancé en mode debug arrive à une ligne marquée comme break point, il marque une pause.

Pour placer un break point sur une ligne spécifique, il suffit de cliquer à gauche de cette ligne dans PyCharm. Exemple:

La ligne sera ainsi marquée avec un point d'arrêt (break point), et PyCharm mettra en surbrillance toute la ligne en rouge :

Un autre clic avec la souris à gauche du code supprimera le break point installé.

Tu peux aussi placer un break point sur la ligne actuelle en utilisant le raccourci clavier — Ctrl+F8. Une nouvelle pression sur Ctrl+F8 sur une ligne où il y a déjà un break point le supprimera.

9.3 Lancer le programme en mode debug (débogage)

Si ton programme a au moins un point d'arrêt, tu peux le lancer en mode debug (Shift+F9 ou « l'icône avec le scarabée »).

Après le lancement en mode debug, le programme s'exécute normalement. Mais dès qu'il atteint une ligne de code marquée avec un break point, il fait une pause. Exemple :

Dans la partie supérieure de la capture d'écran, tu vois le code du programme avec deux points d'arrêt. Le programme s'est arrêté à la ligne 2 — marquée par une ligne bleue. La ligne 2 ne s'est pas encore exécutée : rien n'a encore été affiché dans la console.

Dans la moitié inférieure de l'écran, tu vois les panneaux du mode debug: le panneau Thread & variables, le panneau Console (sortie à l'écran), ainsi qu'un ensemble de boutons pour le mode debug.

Tu peux reprendre l'exécution de ton programme (continuer son exécution) en appuyant sur le bouton Resume Program dans le panneau en bas à gauche (ou en appuyant sur la touche F9).

Si tu appuies sur ce bouton (ou sur F9), le programme continuera son exécution jusqu'à rencontrer le prochain point d'arrêt ou se terminer. Voici ce que nous verrons après avoir appuyé sur ce bouton :

Le programme s'est arrêté au deuxième point d'arrêt, et dans la console, les mots "Hello" et "and" sont affichés — signe que deux des trois lignes de sortie à l'écran se sont exécutées.

9.4 Exécution pas-à-pas

Si ton programme est en mode debug, tu peux aussi l'exécuter pas-à-pas: un pas — une ligne. Il y a deux raccourcis clavier pour l'exécution pas-à-pas: F7 et F8 : chacun d'eux exécute la ligne de code actuelle. Mais d'abord, tu devras arrêter ton programme avec un break point.

Si tu veux exécuter ton programme ligne par ligne, tu dois placer un break point au tout début — sur la première ligne de code — et le lancer en mode debug.

Quand le programme s'arrête, tu pourras commencer à l'exécuter ligne par ligne. Une pression sur la touche F8 — une ligne.

Voici à quoi ressemblera notre programme après l'arrêt et l'appui sur la touche F8 une fois :

La première ligne — print("Hello") — s'est déjà exécutée, et la ligne actuelle est la deuxième. Tu peux aussi voir dans la partie inférieure de la capture d'écran, que le mot "Hello" est déjà affiché à l'écran.

9.5 Exécution pas-à-pas avec entrée dans les fonctions

Si tu as dans ton programme tes propres fonctions, et que tu souhaites que le mode debug ne s'exécute pas seulement ligne par ligne, mais entre aussi dans tes fonctions, alors pour « entrer dans la fonction » tu dois appuyer sur la touche F7.

Disons que tu exécutes le programme pas-à-pas et que tu es maintenant arrêté à la 5ème ligne. Si tu appuies sur le bouton F8, PyCharm exécutera simplement la cinquième ligne et passera à la sixième.

Mais si tu appuies sur F7, PyCharm exécutera pas-à-pas la fonction hello() :

C'est très simple. Si ce qui se passe à l'intérieur de la méthode n'est pas très important pour toi, tu appuies sur F8, si c'est important — F7 et tu exécutes tout son code pas-à-pas.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION