Concevoir une application en Java n’est pas une tache
évidente et on peut rapidement se retrouver ensevelis sous les erreurs. C’est
pour cela que nous allons aborder ici comment
débugger une application et plus précisément une application en Java.
- Eh bien.. eh bien..
Reprenons, tout d’abord que signifie Déboguer (ou debugger) ?
Déboguer est le principe de retirer les fautes et les erreurs
d’un programme de façon à ce qu'il réalise la tâche attendue, ou bien de
détecter les lignes de code comportant des erreurs.
Vérifier son code
Savoir ce qu’est le débogage c’est bien mais avant d’entrer
dans le vif du sujet, il y a plusieurs points à vérifier.
Voici les différents points :
- Avoir les idées
claires ou faires des pauses.
- Vérifier que l’on est bien entrain de programmer en Java.
- Vérifier que l’on a bien mit ou fermé les différents signes tel
que le point-virgule ou les parenthèses par exemple.
- Faire attention aux espaces.
- Avoir une indentation claire et correcte.
- Si j’utilise une fonctionnalité que je n’ai pas conçu, je me
suis renseigné sur son fonctionnement.
- Faire attention à la casse* des noms
- Vérifier la portée utilisée.
Très souvent ses différents points sont les premières
sources d’erreur.
Comment déboguer ?
Rentrons dans le vif du sujet. Ici le logiciel utilisé sera IntelliJ.
Voici un code avec une erreur basique que je décide de
lancer pour l’exemple. Ce qu’il faut faire attention dans un premier temps c’est
aux informations que l’on obtient dans la console.
Assez souvent les erreurs sont explicites. Cependant deux
problèmes peuvent se présenter, le premier étant le fait que l’erreur ne soit pas
ou peu compréhensible et le second, que le code n’indique pas d’erreur mais
pour autant ne fonctionne pas comme attendu.
Ce code qui parait à première vue fonctionnel pose soucis.
Nous allons donc utiliser la fonctionnalité Débogueur du programme. Dans un
premier temps on place un point d’arrêt.
Le point d’arrêt est l’endroit
où l’exécution du programme en mode débogueur s’arrêtera.
Ensuite appuyer sur le petit insecte
( bug )
Cela
lancera votre programme en mod débug et c’est surtout la partie en bas qui ici
va nous intéresser.
Comme vous pouvez le
constater nous allons pouvoir voir les valeurs actuelles des différentes
variables.
A la suite de cela vous allez
avoir différents boutons permettant une avancée de l’exécution du code.
Le premier, Step Over va permettre
d’avancer jusqu’à la prochaine méthode ou ligne en l’exécutant normalement et
sans rentrer dedans.
Le deuxième, Step Into permet
d’avancer également jusqu’à la prochaine méthode ou ligne, cependant si la
prochaine exécution est une méthode, il va rentrer dedans.
Le troisième, Force Step Into
se comporte de la même manière que le précédant mais cette fois ci va entrer
dans les méthodes même si nous ne les avons pas créés ou qu’elles sont cachées.
Le dernier, Step Out va continuer
l’exécution du code jusqu’à l’endroit où est rappelé la méthode dans laquelle
il se trouve.
Grâce au débogueur ici nous
allons pouvoir nous apercevoir que nous créons une boucle infinie car la variable
nombre ne décroit jamais.
Le débogueur ne m'aide pas ?
Il arrive également que même avec le débogueur du programme on n'arrive pas à trouver ou comprendre l'erreur.
Rien n'est perdu un point principale lors du développement d'une application est l'entraide.
Je ne parle pas simplement d'aller demander à son voisin mais bien de l'entraide au niveau communautaire avant tous.
Très souvent il vous suffit de prendre un peu de temps et de rechercher l'information liée à votre erreur et généralement vous trouvez des sites tels que Stack Overflow ou des documentations qui vous aideront à résoudre votre souci.
Une gestion un peu plus poussée
En Java ainsi que dans d'autre langage nous avons la possibilité de mettre en place un système de gestion d'erreur.
Ceci est le Try / Catch.
Le code si dessus réalise une division par 0, sans le Try / Catch, le programme plante générant une erreur. Le fonctionnement est assez simple. Le Try va tenter d'exécuter le code et le Catch va récupérer l'erreur si il y en a une et exécuter le code fournit en conséquence.
Attention le Try / Catch n'est pas à utiliser n'importe où, il sera généralement appliqué sur des zones de code dit sensibles.
Conclusion
Il ne faut pas paniqué à la vue de rouge. C'est très rare de réaliser un programme avec plusieurs lignes de code sans avoir d'erreur. Lors de cas d'erreur, il faut prendre le temps, se poser et s'informer.
Lexique
casse de nom: La casse de nom est le fait de respecter dans un programme la nomenclature établi au niveau des noms dans le cadre des minuscules et majuscules.
Source:
Connaissance personnelle et cours.
Auteur: Geoffrey Kinnoo










Commentaires
Enregistrer un commentaire