Debug facile, poser des conditions sur vos points d’arrêt
Fabian Piau | jeudi 12 décembre 2013 - 13:00La nouvelle version de l’application est livrée depuis ce matin et déjà le client vous signale un bogue… L’ajout d’un élément dans une liste fait planter le système. Mince, vous avez refactoré ce bout de code, impossible de faire semblant et de rejeter la faute sur le stagiaire quelqu’un d’autre. La bonne nouvelle, c’est que vous venez de reproduire ce bogue sur votre machine. Ne dit-on pas qu’un bogue reproduit est un bogue à moitié corrigé? Oui, enfin si seulement.
Bon allez, c’est parti pour une petite session de débogage de code pour déterminer la cause de votre malheur.
Vous vous rendez compte que vous parcourez une liste et qu’à partir d’un moment, un objet est null. Et paf, la classique NullPointerException! Vous n’avez pas eu le temps de regarder le contenu des variables et comprendre pourquoi cet objet est null que l’exception est déjà levée. Il va falloir recommencer en pas à pas jusqu’au point fatidique.
Et là, je dis stop! L’IDE peut vous aider!
Il suffit de poser une condition sur le point d’arrêt et lui demander de s’arrêter seulement dans le cas où l’élément à ajouter est null.
A titre illustratif, prenons un cas école: nous avons une boucle for et on souhaite s’arrêter à la 98ème itération.
Plutôt que d’appuyer sur la touche « Continuer » 97 fois, il suffit de créer une condition, soit directement sur la boucle for, soit sur une des instructions comme ci-dessous.
Sous IntelliJ
Sous Eclipse
La condition peut être plus ou moins complexe et correspondre à n’importe quel bout de code java que vous pouvez mettre dans un if.
Le programme s’arrêtera exactement là où vous voulez et surtout quand vous voulez! Bonne séance de débogage!
Commentaires récents