Debug - 420111aut25/cours420111 GitHub Wiki
🐞 Utiliser le débogueur Java dans VSCode
Le débogueur est un outil essentiel pour comprendre ce que fait ton programme, repérer des erreurs et analyser le comportement du code pas à pas.
Dans Visual Studio Code, tu peux facilement déboguer du Java avec l’extension adéquate.
🧰 Prérequis
Avant de commencer :
✔️ Avoir Java installé (JDK 11+ recommandé) ✔️ Avoir VSCode installé ✔️ Avoir installé l’extension Java Extension Pack ou au minimum :
- Debugger for Java
- Language Support for Java
🛠️ Démarrer une session de débogage
- Ouvre ton fichier
.java
- Place un point d’arrêt (🔴) en cliquant à gauche d’une ligne de code
- Clique sur ▶️ "Run and Debug" dans la barre latérale (ou
F5
) - VSCode exécute ton programme et s’arrête au point d’arrêt
📍 Point d’arrêt : c’est quoi ?
Un point d’arrêt (breakpoint
) permet de stopper l’exécution à une ligne précise.
Tu peux ensuite analyser les variables, exécuter ligne par ligne, etc.
🎛️ Outils de contrôle
Une fois arrêté sur un point d’arrêt, tu as accès à :
Icône | Nom | Fonction |
---|---|---|
▶️ | Continue | Continue l’exécution jusqu’au prochain arrêt |
⏭️ | Step Over | Exécute la ligne en cours, sans entrer dans les méthodes |
🔽 | Step Into | Entre dans la méthode appelée à cette ligne |
🔼 | Step Out | Termine la méthode actuelle et revient à l’appelant |
⏹️ | Stop | Arrête complètement le programme |
🔍 Visualiser les variables
Pendant le débogage, tu peux voir :
✅ Les valeurs des variables ✅ Le contenu des tableaux / objets ✅ Le call stack (pile des appels de fonctions)
Tu peux aussi survoler une variable avec la souris pour voir sa valeur.
✍️ Exemple d’utilisation
public class Exemple {
public static void main(String[] args) {
int a = 5;
int b = 0;
int resultat = division(a, b);
System.out.println("Résultat : " + resultat);
}
public static int division(int x, int y) {
return x / y;
}
}
💥 Ce programme va provoquer une erreur (division par zéro).
Avec le débogueur, tu peux voir les valeurs de x
et y
avant le crash !
🔧 Astuce : Modifier des valeurs pendant le débogage
Tu peux parfois changer la valeur d’une variable en cours d’exécution directement depuis l’onglet "Variables" → clic droit → Set Value.
launch.json
(optionnel)
🔁 Recommandation : fichier Pour des projets plus complexes, tu peux créer un fichier .vscode/launch.json
pour configurer le comportement du débogueur (fichier à lancer, arguments, etc.).
🧠 À retenir
-
Le débogueur permet de comprendre ton programme pas à pas
-
Tu peux :
- Placer des points d’arrêt
- Suivre l’exécution ligne par ligne
- Voir et modifier les variables en temps réel
-
C’est un outil puissant pour apprendre, tester et corriger ton code
🔹 Exercice 1 : Observer les variables
Crée un programme avec 3 variables entières. Calcule leur somme dans une 4e variable. Ajoute un point d’arrêt sur la ligne du calcul pour observer les valeurs.
public class Exo1 {
public static void main(String[] args) {
int a = 4;
int b = 7;
int c = 3;
int somme = a + b + c; // ← Place ton point d’arrêt ici
System.out.println("Somme : " + somme);
}
}
🎯 Objectif
- Lancer le débogueur (
F5
) - Vérifier les valeurs de
a
,b
,c
etsomme
dans l’onglet Variables
🔹 Exercice 2 : Suivre une boucle pas à pas
Utilise une boucle for
pour additionner des nombres.
Observe à chaque tour comment la variable total
évolue.
public class Exo2 {
public static void main(String[] args) {
int total = 0;
for (int i = 1; i <= 5; i++) {
total += i; // ← Mets un point d’arrêt ici
}
System.out.println("Résultat final : " + total);
}
}
🎯 Objectif
- Utiliser Step Over (⏭️) pour avancer ligne par ligne
- Observer l’évolution de
total
dans le debug panel
🔹 Exercice 3 : Comprendre une erreur
Ce programme va planter à l’exécution. Utilise le débogueur pour comprendre pourquoi.
public class Exo3 {
public static void main(String[] args) {
int[] nombres = {1, 2, 3};
for (int i = 0; i <= 3; i++) {
System.out.println(nombres[i]); // ← Mets un point d’arrêt ici
}
}
}
🎯 Objectif
- Repérer la cause de l’erreur
- Utiliser le débogueur pour voir la valeur de
i
au moment du crash - Corriger l’erreur (indice : attention à l’indice
3
)