Articles

Débogage Xcode avec les points d’arrêt (pour les débutants)

Erica Millado

Follow

8 oct, 2016 – 4 min lu

En tant qu’apprenant tout au long de la vie, il est entendu que faire des erreurs fait partie du processus d’apprentissage. En programmation, ces choses embêtantes sont connues sous le nom de 🐞’s (bugs). Être un débogueur minutieux et efficace fera de moi un meilleur programmeur et me permettra éventuellement d’écrire un excellent code à long terme.

J’ai pensé que ce serait une bonne idée de faire quelques recherches sur le débogage de niveau débutant dans Xcode et comment me familiariser avec l’outil de débogage Breakpoint et certaines de ses capacités.

Alors, qu’est-ce qu’un point d’arrêt ?

Un point d’arrêt est un outil de débogage qui vous permet de mettre en pause l’exécution de votre programme jusqu’à un certain moment.

Pourquoi devrais-je utiliser un point d’arrêt ?

Créer des points de « pause » dans votre code peut vous aider à enquêter sur votre code pour voir où les bogues se produisent.

Comment puis-je créer des points d’arrêt ?

Facile. Décidez de l’endroit où vous voulez interrompre l’exécution de votre code et cliquez dans la gouttière de gauche pour créer un point d’arrêt bleu.

Permettons-nous de jeter un coup d’œil à la fabuleuse chose que nous appelons la « zone de débogage. »

Boutons importants avec lesquels vous devez vous familiariser : ACTIVER LES BREAKPOINTS, CONTINUER/PAUSE, STEP OVER, STEP INTO, et STEP OUT.

Que se passe-t-il dans la capture d’écran ci-dessus ?

J’ai créé une fonction findSumOfEvens() qui additionne deux entiers si LES DEUX sont pairs. J’ai placé un point d’arrêt à la ligne 25, après avoir appelé ma fonction findSumOfEvens(n1 : 2, n2 : 4) à la ligne 24. La fonction a été mise en pause à la ligne 25, ce qui signifie que le deuxième appel de findSumOfEvens(n1 : 1, n2 : 6) n’a pas encore été appelé.

J’ai également annoté quelques boutons / zones de débogage utiles de Xcode. Note:

  • Continue / Pause = (le raccourci clavier est ⌃ + ⌘ + Y)

Et ces boutons de contrôle d’exécution :

  • Step Over = (le raccourci clavier est F6)
  • Step Into = (le raccourci clavier est F7)
  • Step Out = (le raccourci clavier est F8)

J’ai exécuté le projet, et la console a imprimé « La somme de vos nombres pairs est 6. »

Puis, j’ai cliqué sur le bouton « Step Over » pour exécuter la ligne de code suivante (ligne 25) – qui est l’endroit où j’ai placé le point d’arrêt.

Au-dessus, vous pouvez voir que j’ai « enjambé » la ligne de code suivante en l’exécutant réellement et maintenant ma console a imprimé « Vos deux nombres doivent être pairs. Essayez à nouveau. »

Comment puis-je me débarrasser d’un point d’arrêt ?

Clic droit sur le point d’arrêt pour le supprimer:

Attendez, c’est quoi ce message (lldb) dans votre console ?

LLDB signifie « débogueur de bas niveau » qui fournit l’environnement de débogage sous-jacent pour le développement des applications iOS. Il peut être utilisé pour trouver et éliminer les problèmes dans votre code Swift et Objective-C.

Comment les points d’arrêt et le LLDB sont-ils liés ?

Vous pouvez taper des commandes de raccourci dans le LLDB pour vous aider à définir des points d’arrêt à certaines lignes de code, définir des points d’arrêt à de nombreux points de votre code, lister tous vos points d’arrêt et désactiver les points d’arrêt.

« breakpoint set – selector viewDidLoad »

Au-dessus, vous pouvez voir que vous pouvez définir plusieurs points d’arrêt en entrant un « selector » (nom de méthode) dans LLDB. Ceci est particulièrement utile si vous avez BEAUCOUP de fichiers et que vous ne voulez pas cliquer dans tous pour définir des points d’arrêt.

« liste de points d’arrêt »

Au-dessus, vous pouvez également « lister » tous vos points d’arrêt dans votre projet.

Sortie console de « liste de points d’arrêt »

Au-dessus, vous voyez les informations détaillées de la liste imprimées à la console, qui incluent un « compte de coups », qui indique combien de fois nous avons atteint un certain point d’arrêt.

« breakpoint disable »

Au-dessus, j’utilise « disable » pour désactiver tous mes points d’arrêt. Si je voulais désactiver uniquement mon 2ème point d’arrêt, j’aurais entré « breakpoint disable 2. »

« breakpoint set – – file ViewController.swift – – ligne 16 »

Au-dessus, je fixe un point d’arrêt à un endroit précis de mon code : mon fichier ViewController.swift à la ligne 16.

Pour récapituler, les commandes de points d’arrêt LLDB que j’ai utilisées étaient :

  • breakpoint set
  • breakpoint list
  • breakpoint disable

Si mon projet se plante, ne devrais-je pas simplement cliquer sur stop et mettre fin à l’exécution de l’app ?

D’après ce que j’ai recherché, ARRÊTER (◾) ️l’appli se débarrasse des précieuses informations de débogage que Xcode essaie de nous donner (le développeur) pour nous aider à résoudre le problème. Je vais commencer à utiliser les points d’arrêt et les boutons de contrôle d’exécution pour mieux avancer dans mon code afin de voir où les erreurs se produisent.

Embrassez les bugs comme une opportunité pour vous d’apprendre.

Que les bugs soient toujours en votre faveur.

.