if (n == 1 || n == 0) {
throw new RuntimeException("Ooops");
}Les exercices portent sur la classe Fibonacci [1] et sa suite de tests unitaires [2]
exercices-java/src/main/java/iut/fibonacciexercices-java/src/test/java/iut/fibonnaciPoser un breakpoint à la ligne 5
Lancer le test firstSteps en mode debug
Dérouler l’algorithme en pas à pas (F8)

Poser un breakpoint à la ligne 12
Lancer le test firstSteps en mode debug
Depuis la pile d’appel, utiliser l’icône "retour arrière"

Poser un breakpoint à la ligne 27
Lancer le test exploreCallStack en mode debug
Inspecter la pile d’exécution
Cliquer sur les appels précédents dans la pile et inspecter les valeurs
Poser un breakpoint à la ligne 24
Lancer le test exploreCallStack en mode debug
Entrer dans la méthode avec "Step into" (F7)
Sorter de la méthode avec "Step out" (Shift+F8)

Poser un breakpoint à la ligne 24
Lancer le test exploreCallStack en mode debug
Ouvrir la fenêtre de "Evaluate expression" (Alt+F8)
Évaluer la fonction recursiveFibonacci(n - 1);

Poser un breakpoint à la ligne 14
Lancer le test firstSteps en mode debug
Ajouter un watcher pour évaluer la formule : n0 + n1
Laisser la boucle avancer et s’arrêter sur le breakpoint (F9)
Visualiser le watcher qui change
Ne pas poser de breakpoint
Lancer le test longExecutionTest en mode debug
Appuyer sur le bouton pause
Inspecter où en est l’algorithme
Poser un breakpoint à la ligne 14
Editer le breakpoint pour ajouter la condition i == n
Lancer le test firstSteps en mode debug

Poser un breakpoint à la ligne 13
Lui assigner la condition tempNthTerm == 1
Poser un breakpoint à la ligne 12
Clic droit sur le breakpoint, puis cliquer sur "More" (ou Shift+Ctrl+F8),
Sélectionner le breakpoint de la ligne 13 dans le menu déroulant "Disable until hitting the following breakpoint"

Lancer le test firstSteps en mode debug
Observer le déroulement
D’abord de breakpoint ligne 13, sans déclencher celui de la ligne 12
Puis, à l’itération suivante, celui de la ligne 12
Modifier le code de la fonction recursiveFibonacci pour lever une exception :
if (n == 1 || n == 0) {
throw new RuntimeException("Ooops");
}Ajouter un breakpoint sur l’exception :
Ouvrir le menu des breakpoint (Shift+Ctrl+F8)
Créer manuellement un nouveau breakpoint avec le menu "+"
Choisir l’exception dans le menu

Lancer le test exploreCallStack en mode debug
Observer le comportement :
Le programme s’arrête automatiquement sur l’erreur levée ligne 21
Poser un breakpoint à la ligne 14
Lancer le test firstSteps en mode debug
Modifier la variable i pour lui affecter la valeur 5
L’exécution sort de la boucle plus tôt que prévu et le test échoue
Poser un breakpoint à la ligne 9
Lancer le test firstSteps en mode debug
Changer le flux d’exécution :
Clic-droit sur la ligne 16
"Skip to cursor"
L’exécution sort sans passer par la boucle et le test échoue
Lancer un de vos projets en mode debug
Poser et déclencher les breakpoints des exercices précédents dans votre code