Ajoutez des points d'arrêt
Reprenons l’investigation démarrée dans le chapitre précédent. Nous avons besoin de mettre l’exécution en pause avant l’appel à la méthode CreateTask de la ligne 19 du fichier T_TodoModel.cs pour le test unitaire VerifyAddTasks.
Un point d'arrêt peut être posé de plusieurs façons :
Cliquez-gauche dans la marge de la ligne.
Cliquez-droit Breakpoint | Insert Breakpoint sur l'instruction :
Vous pouvez aussi utiliser le raccourci clavier (F9) dans l’éditeur de code avec le curseur sur l’instruction.
L'instruction en question apparaît alors en rouge dans l'éditeur de code et un point rouge l'indique dans la marge :
Une fois le point d’arrêt mis en place, démarrons le débogage du test unitaire par l'interface du Test Explorer avec clic-droit | Debug Selected Tests :
Le test sélectionné démarre ainsi sous le contrôle du débogueur. Le framework .NET notifie le débogueur de Visual Studio de certains événements comme justement la détection d’un point d’arrêt.
Comme attendu, l’exécution est mise en pause juste avant son exécution :
La flèche jaune représente le pointeur d’exécution qui indique la prochaine instruction à exécuter. Cette flèche jaune apparaît aussi à gauche de l’éditeur dans le rond rouge du point d’arrêt.
Gérez vos points d'arrêt
Lorsque vous travaillez sur une investigation, vous pouvez être amenés à définir plusieurs points d’arrêt. Visual Studio propose une interface graphique pour demander au débogueur de les ignorer temporairement ou bien de les supprimer. Cette liste des points d'arrêt définis est accessible depuis le menu Debug | Windows | Breakpoints :
Si vous voulez conserver des points d'arrêt sans qu'ils soient pris en compte par le débogueur, il suffit de décocher la case, comme pour les deux derniers points d'arrêt dans la capture d’écran qui suit. Le point perd son contenu rouge pour indiquer le statut de point d’arrêt inhibé :
Cela permet de fluidifier l’exécution sans pour autant perdre des points de repère si votre assertion courante n’est pas la bonne.
Lorsque vous n’en n’avez vraiment plus besoin, Il existe plusieurs façons de supprimer un point d'arrêt :
Sélectionnez le point d'arrêt dans le panneau Breakpoints et appuyez sur la croix rouge de la barre d’outils ;
Utilisez le raccourci clavier (F9) sur la ligne, directement dans l'éditeur de code ;
Faites un clic-gauche sur le point dans la marge ou via clic-droit Breakpoint | Delete Breakpoint.
Résumé
Vous avez maintenant les moyens de mettre l’exécution de votre code en pause aux endroits critiques. Il existe cependant des cas pour lesquels vous voudriez déclencher ces points d’arrêts, non pas systématiquement mais sous certaines conditions : nous verrons justement comment faire dans le prochain chapitre. ^^