• 10 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/10/18

Contrôlez l'exécution du code

Je vous rappelle que nous sommes dans la méthode CreateTask du modèle qui est appelée avec la valeur "sleep" dans le test VerifyAddTasks de T_TodoModels.cs

Une fois arrêté sur une instruction, deux choix sont possibles :

  • On peut soit descendre dans le code de la méthode appelée via Step Into (F11) en suspendant l'exécution ;

  • Soit laisser le débogueur l'exécuter, y compris les appels de sous-fonctions, avec Step Over  (F10) et mettre en pause une fois l'exécution terminée.

Ces deux actions sont accessibles depuis la barre d’outils Debug de Visual Studio :

Descendre dans une méthode ou juste l'exécuter
Descendre dans une méthode ou juste l'exécuter

Vous pouvez également y accéder directement avec les raccourcis clavier F11 et F10.

Il est aussi possible de laisser le code s'exécuter jusqu'à une instruction particulière. Pour cela, il suffit de laisser la souris immobile devant pendant quelques secondes pour faire apparaître un sigle vert :

Laisser exécuter jusqu'à une instruction
Laisser exécuter jusqu'à une instruction

Cliquer dessus fait exactement ce que l'on souhaite : cela exécute le code et suspend l'exécution juste avant le return.

Et si nous voulons "sauter" l'exécution de InternalAddTask ?

Il suffit encore de laisser la souris quelques secondes devant le return et d'appuyer sur la touche Ctrlpour voir apparaître un sigle jaune cette fois-ci. Il faut simplement cliquer dessus :

Sauter l'exécution d'instructions
Sauter l'exécution d'instructions

Ces deux fonctionnalités Run to Cursor (Ctrl+F10) et Set Next Statement (Ctrl+Shift+F10) sont aussi disponibles sur clic-droit : 

Actions disponibles sur click-droit
Actions disponibles sur clic-droit

Résumé

Vous avez maintenant tous les moyens de naviguer pas à pas dans l’exécution du code pour :

  • Descendre dans une méthode ;

  • Exécuter une méthode ;

  • Tout exécuter jusqu’à une instruction ;

  • Ou carrément sauter l’exécution d’une partie du code.

Avec tout l'arsenal à votre disposition, vous devriez être maintenant capable de trouver l'origine du bug et comment le fixer. Ce sera le sujet du dernier chapitre de cette partie du cours sur le débogage d'applications C#. ;)

Example of certificate of achievement
Example of certificate of achievement