10.1 Démarrage du Debugger
On va se pencher sur le processus de debug avec IntelliJ IDEA, ce qui est logique et plaisant. Tu vas voir par toi-même.
Dans IntelliJ IDEA (il faut la version Ultimate Edition), tu peux lancer ton programme de deux façons :
| Modes de lancement du programme | Icône dans la barre | Raccourcis clavier |
|---|---|---|
| Exécution normale | ![]() |
Shift+F10 |
| Lancement en mode debug | ![]() |
Shift+F9 |
Tu connais déjà le mode normal : le programme démarre, s'exécute et se termine. Mais le mode debug t'apportera plein de surprises.
Mode Debug
Le mode debug te permet d'exécuter tout ton programme pas à pas. Ou plus exactement, ligne par ligne. Tu peux observer les valeurs variables à chaque étape du programme (après chaque ligne de code exécutée). Et même les modifier !
Pour maîtriser les bases du debug, tu dois apprendre trois choses :
- Points d'arrêt
- Exécution pas à pas
- Visualisation des valeurs de variables
10.2 Points d'arrêt (Break Points)
L'IDE te permet de placer dans le code des marqueurs spéciaux — points d'arrêt (break point). Chaque fois que le programme, lancé en mode debug, atteindra une ligne marquée comme break point, il fera une pause.
Pour mettre un break point sur une ligne spécifique, il te suffit de cliquer dans IntelliJ IDEA à gauche de cette ligne. Exemple :
En conséquence, la ligne sera marquée d'un point d'arrêt (break point), et IntelliJ IDEA mettra en surbrillance toute la ligne en rouge :
Un second clic de souris sur le panneau à gauche du code supprimera le break point.
Tu peux aussi simplement mettre un break point sur la ligne actuelle en utilisant le raccourci clavier — Ctrl+F8. Appuyer une nouvelle fois sur Ctrl+F8 sur la ligne où se trouve déjà un break point le supprimera.
10.3 Lancement du programme en mode debug
Si ton programme a au moins un point d'arrêt, tu peux le lancer en mode debug (Shift+F9 ou « icône avec un bug »).
Après le lancement en mode debug, le programme s'exécute normalement. Mais dès qu'il atteindra une ligne de code marquée d'un break point, il fera une pause. Exemple :
Dans la moitié supérieure de la capture, tu vois le code du programme avec deux points d'arrêt. Le programme est en pause à ligne 2 — marquée par une ligne bleue. La ligne 2 n'est pas encore exécutée : rien n'est encore 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) et 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 jusqu'à ce qu'il rencontre le prochain point d'arrêt ou se termine. Voici ce que nous verrons après avoir appuyé sur ce bouton :
Le programme s'est arrêté au second point d'arrêt, et les mots Hello et and sont affichés dans la console - ce qui signifie que seules deux des trois lignes de sortie à l'écran ont été exécutées.
10.4 Exécution pas à pas
Si ton programme s'exécute en mode debug, tu peux aussi l'exécuter pas à pas : un pas — une ligne. Pour l'exécution pas à pas, il y a deux raccourcis clavier : F7 et F8 — chacun d'eux exécute la ligne de code actuelle. Mais d'abord, tu devras quand même arrêter ton programme avec un break point.
Si tu veux exécuter ton programme ligne par ligne, tu dois mettre un break point au tout début — sur la première ligne de code et le lancer en mode debug.
Lorsque le programme s'arrêtera, tu pourras commencer son exécution ligne par ligne. Un appui sur la touche F8 — une ligne.
Voici à quoi ressemblera notre programme après l'arrêt et un appui sur la touche F8 une fois :
La première ligne — print(“Hello”) est déjà exécutée, et la ligne actuelle est la seconde. Tu peux aussi voir dans la partie inférieure de la capture que le mot Hello est déjà affiché à l'écran.
10.5. Exécution pas à pas avec entrée dans les fonctions
Si ton programme contient tes propres fonctions, et que tu veux, en mode debug, que ton programme non seulement soit exécuté pas à pas, mais entre aussi dans tes fonctions, alors pour « entrer dans la fonction », tu dois appuyer sur la touche F7 au lieu de F8.
Supposons que tu exécutes ton programme pas à pas et tu es arrêté à la 5ème ligne. Si tu appuies sur la touche F8, IntelliJ IDEA exécutera simplement la cinquième ligne et passera à la sixième :
Mais si tu appuies sur F7, IntelliJ IDEA exécutera pas à pas la fonction hello() :
C'est très simple. Si ce n'est pas trop important pour toi de voir ce qui se passe à l'intérieur de la méthode, tu appuies sur F8, si c'est important — F7 et tu exécutes tout son code pas à pas.


GO TO FULL VERSION