• 30 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 21/05/2021

Utilisez le debugger

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Introduction

Vous avez positionné un point d'arrêt dans votre code. Votre application est lancée en mode Debug. Excellent. Nous allons voir dans ce chapitre comment se servir du Debugger d'Android Studio pour avancer pas à pas dans l'exécution du programme.

Description du Debugger

Le Debugger, c'est cette fenêtre qui s'ouvre automatiquement en bas d'Android Studio, lorsque vous lancez l'application en mode Debug. À tout hasard, si elle ne s'affichait pas : cliquez tout en bas sur le bouton 5: Debug puis sur l'onglet Debugger.

Inspectez les variables

Lorsque le programme est suspendu à un point d'arrêt, vous avez plusieurs façons pour inspecter la valeur d'une variable :

La première façon (1) consiste à regarder en fin de chaque ligne l'annotation ajoutée par Android Studio. Le texte en italique correspond à la valeur de la variable. Cela fonctionne bien pour les types simples (booléen, entier, chaîne de caractères, etc). Cependant, ce n'est pas vraiment exploitable pour les objets : le nom de classe accolé d'un identifiant est affiché, ce qui n'aide pas vraiment. Pour les objets, optez plutôt pour les autres façons.

La deuxième façon (2) consiste à positionner le curseur de la souris sur la variable que vous souhaitez inspecter. Au bout d'une seconde, une popup s'affiche. Cliquez dessus pour afficher les différents champs de l'instance. Si cette variable vous intéresse et que vous souhaitez continuer à l'observer, faites un clic droit dessus puis sélectionner l'option Add to Watches. Vous la verrez ensuite apparaitre dans la fenêtre du bas.

La troisième façon (3) consiste à inspecter les variables présentes en bas de la fenêtre. Les variables affichées sont celles actuellement disponibles au moment où l'application est suspendue. Au fur et à mesure de l'exécution, certaines variables peuvent apparaître et d'autres disparaitre. Par exemple au sein d'une boucle. Vous pouvez cliquer sur le petit triangle à côté de certaines variables. Cela vous permettra d'accéder aux attributs des objets.

Avancer pas à pas

Votre programme est suspendu à un point d'arrêt. C'est super, mais si vous ne faites rien, vous risquez d'attendre longtemps. Heureusement, certains boutons sont là pour vous aider. Ne prenez pas peur, il y en a un certain nombre :

Voici la description de chaque bouton :

  1. Ramène à la ligne où le programme est suspendu. Très pratique si vous avez plusieurs fichiers ouverts ou que vous avez scrollé à l'autre bout du fichier ;

  2. Exécute la ligne suivante. Vous restez au sein de la méthode ou de la fonction dans laquelle vous êtes ;

  3. Si la ligne contient l'appel à une méthode (ou à une fonction), entre dans cette méthode puis suspend l'exécution sur sa première ligne de code. Si vous n'avez pas le code source de la méthode, Android Studio va tenter de décompiler le programme pour vous afficher le pseudo-code ;

  4. Idem que précédemment. Si pour une raison obscure le bouton précédent ne fonctionnait pas, utilisez celui-ci (je dois vous avouer que je n'ai quasiment jamais eu à l'utiliser) ;

  5. Termine d'exécuter le code de la méthode courante puis suspend le programme au niveau de la méthode appelante ;

  6. Poursuit l'exécution du programme jusqu'au curseur. Il faut donc au préalable positionner le curseur de la souris sur une ligne de code de votre programme ;

  7. Évalue et exécute une expression. Dans certains cas, vous souhaitez connaître le résultat de l'appel à une méthode. Pour ce faire, copier la ligne de code qui vous intéresse puis utilisez cette fonctionnalité. Vous verrez ainsi le résultat produit ;

  8. Poursuit l'exécution du programme jusqu'au prochain point d'arrêt (s'il y en a d'autres) ;

  9. Affiche la liste des différents points d'arrêt (breakpoints) ou points d'observation (watchpoints) ;

  10. Désactive tous les points d'arrêt positionnés. Il suffit d'appuyer de nouveau sur le bouton pour les réactiver. Cela est pratique lors d'une session de debug. Par exemple pour amener l'application dans un certain état sans être constamment interrompu par les points d'arrêt positionnés.

Débugger à la volée

Parfois, il est possible que vous lanciez l'application normalement, et que vous constatiez un comportement anormal. Il serait dommage d'arrêter l'application pour la relancer en mode Debug, car vous perdriez l'état dans laquelle elle se trouve.

Heureusement, Android Studio vous permet de démarrer une session de Debug à la volée. Pour ce faire, il vous suffit de cliquer sur le bouton situé à gauche du bouton d'arrêt de l'application, vers le milieu de la barre d'outils :

Normalement, Android Studio vous propose automatiquement le bon processus. Si vous aviez plusieurs émulateurs démarrés, ainsi que votre téléphone connecté, veillez à sélectionner le bon programme. Ensuite appuyez sur le bouton OK.

Conclusion

L'utilisation du Debugger requiert un peu de pratique, le temps de se familiariser avec les boutons disponibles. Une fois les différentes fonctionnalités prises en main, cela deviendra un jeu d'enfant de corriger vos bugs. Soyez curieux, regarder à quoi servent les autres boutons, certains pourraient vous être utiles. Dans le prochain chapitre, vous verrez comment effectuer une analyse statique de code.

Exemple de certificat de réussite
Exemple de certificat de réussite