Points d'arrêt et pas à pas
Piloter un débogueur : points d'arrêt simples et conditionnels, pas à pas principal, entrant et sortant, reprise, vues des variables et de la pile d'appels, espion.
- 25 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
Quelques cartes du deck
Point d'arrêt : de quoi s'agit-il ?
Voir la réponse
Marque posée sur une ligne : quand l'exécution l'atteint, le débogueur la suspend juste avant d'exécuter cette ligne.
Programme suspendu, on peut lire les variables, la pile d'appels, puis avancer ligne à ligne. La ligne marquée n'est pas encore exécutée.
Le débogueur est suspendu à la ligne 9. Sur quelle ligne s'arrête-t-il après un pas à pas entrant ?
```java
public class Commande {
static int prix(int q) {
int base = q * 5;
return base;
}
public static void main(String[] args) {
int q = 3;
int total = prix(q);
total = total + 1;
System.out.println(total);
}
}`31024
Voir la réponse
3Le pas à pas entrant descend dans
prixet s'arrête à sa première instruction, ligne 3 (la ligne 2 n'est que la signature). Un pas à pas principal aurait terminé la ligne 9 en entier et serait allé à la ligne 10.Un programme lancé en mode … s'interrompt aux points d'arrêt ; la commande de … le relance jusqu'au point d'arrêt suivant.
Voir la réponse
Un programme lancé en mode débogage s'interrompt aux points d'arrêt ; la commande de reprise le relance jusqu'au point d'arrêt suivant.
Lancé normalement, le programme ignore les points d'arrêt. La reprise n'avance pas ligne à ligne : elle rend la main au programme jusqu'au prochain arrêt.
Point d'arrêt conditionnel : de quoi s'agit-il ?
Voir la réponse
Marque sur une ligne, assortie d'une expression booléenne : l'exécution ne s'interrompt que lorsque l'expression est vraie.
Sur une méthode appelée pour chaque client, la condition
id == 42ne suspend le programme que pour le client qui pose problème, au lieu de s'arrêter à chaque appel.Une boucle de 10 000 tours finit par rendre le
stocknégatif. Comment trouver le tour fautif sans passer 10 000 arrêts à la main ?- Poser un point d'arrêt conditionnel avec la condition
stock < 0 - Poser un espion sur
stocket attendre qu'il s'arrête - Ajouter un affichage de
stockdans la boucle et lire les 10 000 lignes - Poser un point d'arrêt simple en fin de boucle et reprendre jusqu'à l'avant-dernier tour
Voir la réponse
Poser un point d'arrêt conditionnel avec la condition
stock < 0Seul un point d'arrêt conditionnel suspend le programme au premier tour où la condition devient vraie, avec toute la pile et toutes les variables visibles. Un espion affiche une valeur sans jamais interrompre.
- Poser un point d'arrêt conditionnel avec la condition