Partager via


Tutoriel : Déboguer une application console .NET à l’aide de Visual Studio Code

Ce didacticiel présente les outils de débogage disponibles dans Visual Studio Code pour l’utilisation d’applications .NET.

Conditions préalables

Utiliser la configuration de build Debug

Debug et Release sont des configurations de build intégrées de .NET. Vous utilisez la configuration de build Debug pour le débogage et la configuration Release pour la distribution finale de la version.

Dans la configuration de débogage, un programme se compile avec des informations de débogage symboliques complètes et aucune optimisation. L’optimisation complique le débogage, car la relation entre le code source et les instructions générées est plus complexe. La configuration de mise en production d’un programme n’a pas d’informations de débogage symboliques et est entièrement optimisée.

Par défaut, les paramètres de lancement de Visual Studio Code utilisent la configuration de build de débogage. Vous n’avez donc pas besoin de le modifier avant le débogage.

  1. Démarrez Visual Studio Code.

  2. Ouvrez le dossier du projet que vous avez créé dans Créer une application console .NET à l’aide de Visual Studio Code.

Définir un point d’arrêt

Un point d’arrêt interrompt temporairement l’exécution de l’application avant que la ligne contenant le point d’arrêt ne soit exécutée.

  1. Ouvrez le fichier Program.cs.

  2. Définissez un point d’arrêt sur la ligne qui affiche le nom, la date et l’heure, en cliquant dans la marge gauche de la fenêtre de code. La marge gauche est à gauche des numéros de ligne. Pour définir un point d’arrêt, vous pouvez également appuyer sur F9 ou choisir Exécuter>Basculer le point d’arrêt dans le menu pendant que la ligne de code est sélectionnée.

    Visual Studio Code indique la ligne sur laquelle le point d’arrêt est défini en affichant un point rouge dans la marge gauche.

    Jeu de points d’arrêt

Démarrer le débogage

  1. Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.

    Ouvrir l’onglet Débogage dans Visual Studio Code

  2. Sélectionnez Exécuter et déboguer. Si vous y êtes invité, sélectionnez C#, puis C#: Lancez le projet de démarrage. D’autres façons de démarrer le programme en mode débogage sont en appuyant sur F5 ou en choisissant Exécuter>Démarrer le débogage dans le menu.

    Démarrer le débogage

  3. Si vous êtes invité à Sélectionner la configuration de lancement, sélectionnez C#: HelloWorld HelloWorld.

  4. Sélectionnez l’onglet Console de débogage pour afficher l’invite « Quel est votre nom ? » que le programme affiche avant d’attendre une réponse.

    Sélectionnez l’onglet Console de débogage

  5. Entrez une chaîne dans la fenêtre Console de débogage en réponse à l’invite demandant d’indiquer un nom, puis appuyez sur Entrée.

    L’exécution du programme s’arrête lorsqu’elle atteint le point d’arrêt et avant l’exécution de la méthode Console.WriteLine. La section Variables locales de la fenêtre variables affiche les valeurs des variables définies dans la méthode en cours d’exécution.

    Accès au point d’arrêt, affichage des variables locales

Utiliser la console de débogage

La fenêtre console de débogage vous permet d’interagir avec l’application que vous déboguez. Vous pouvez modifier la valeur des variables pour voir comment elles affectent votre programme.

  1. Sélectionnez l’onglet Console de débogage.

  2. Entrez name = "Gracie" à l’invite en bas de la fenêtre Console de débogage, puis appuyez sur la touche Entrée.

    Modifier les valeurs des variables

  3. Entrez currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() en bas de la fenêtre Console de débogage, puis appuyez sur la touche Entrée.

    La fenêtre variables affiche les nouvelles valeurs des variables et .

  4. Poursuivez l’exécution du programme en sélectionnant le bouton Continuer dans la barre d’outils. Une autre façon de continuer consiste à appuyer sur F5 .

    Continuer le débogage

    Les valeurs affichées dans la fenêtre de console correspondent aux modifications que vous avez apportées dans la console de débogage .

    terminal affichant les valeurs entrées

  5. Appuyez sur Entrée pour quitter l’application et arrêter le débogage.

Définir un point d’arrêt conditionnel

Le programme affiche la chaîne entrée par l’utilisateur. Que se passe-t-il si l’utilisateur n’entre rien ? Vous pouvez le tester avec une fonctionnalité de débogage utile appelée point d’arrêt conditionnel.

  1. Cliquez avec le bouton droit (Ctrl-cliquez sur macOS) sur le point rouge qui représente le point d’arrêt. Dans le menu contextuel, sélectionnez Modifier le point d’arrêt pour ouvrir une boîte de dialogue qui vous permet d’entrer une expression conditionnelle.

    Menu contextuel Point d'arrêt

  2. Sélectionnez Expression dans la liste déroulante, entrez l’expression conditionnelle suivante, puis appuyez sur Enter.

    String.IsNullOrEmpty(name)
    

    Entrer une expression conditionnelle

    Chaque fois que le point d’arrêt est atteint, le débogueur appelle la méthode String.IsNullOrEmpty(name) et s’arrête sur cette ligne uniquement si l’appel de méthode retourne true.

    Au lieu d’une expression conditionnelle, vous pouvez spécifier un nombre d’accès , qui interrompt l’exécution du programme avant qu’une instruction ne soit exécutée un nombre spécifié de fois. Une autre option consiste à spécifier une condition de filtre , qui interrompt l’exécution du programme en fonction de tels attributs comme un identificateur de thread, un nom de processus ou un nom de thread.

  3. Démarrez le programme avec le débogage en appuyant sur F5.

  4. Dans l’onglet Console de débogage, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.

    Étant donné que la condition que vous avez spécifiée (name est null ou String.Empty) a été satisfaite, l’exécution du programme s’arrête lorsqu’elle atteint le point d’arrêt et avant l’exécution de la méthode Console.WriteLine.

    La fenêtre variables indique que la valeur de la variable est ou .

  5. Vérifiez que la valeur est une chaîne vide en entrant l’instruction suivante à l’invite de la console de débogage et en appuyant sur Entrée. Le résultat est true.

    name == String.Empty
    
  6. Sélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.

  7. Appuyez sur Entrée pour quitter le programme et arrêter le débogage.

  8. Effacez le point d’arrêt en cliquant sur le point dans la marge gauche de la fenêtre de code. Pour effacer un point d’arrêt, vous pouvez également appuyer sur F9 ou choisissez Exécuter> Basculer le point d’arrêt dans le menu pendant que la ligne de code est sélectionnée.

  9. Si vous recevez un avertissement indiquant que la condition de point d’arrêt sera perdue, sélectionnez Supprimer le point d’arrêt.

Pas à pas dans un programme

Visual Studio Code vous permet également de parcourir le programme ligne par ligne et de surveiller son exécution. En règle générale, vous définissez un point d’arrêt et suivez le flux du programme dans une petite partie de votre code de programme. Étant donné que ce programme est petit, vous pouvez parcourir l’ensemble du programme.

  1. Définissez un point d’arrêt sur l’accolade ouvrante de la méthode Main.

  2. Appuyez sur F5 pour démarrer le débogage.

    Visual Studio Code met en surbrillance la ligne de point d’arrêt.

    À ce stade, la fenêtre Variables indique que le tableau args est vide et que name et currentDate ont des valeurs par défaut.

  3. Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.

    Bouton Effectuer un pas à pas détaillé

    Visual Studio Code met en surbrillance la ligne suivante.

  4. Sélectionnez Exécuter>Entrer dans ou appuyez sur F11.

    Visual Studio Code exécute Console.WriteLine pour l’invite de noms et met en surbrillance la ligne d’exécution suivante. La ligne suivante est la ligne Console.ReadLine pour l’élément name. La fenêtre Variables est inchangée et l’onglet Terminal affiche l’invite « Quel est votre nom ? ».

  5. Sélectionnez Exécuter>Entrer dans ou appuyez sur F11 .

    Visual Studio met en surbrillance l’affectation de variable name. La fenêtre Variables indique que name est toujours null.

  6. Répondez à l’invite en entrant une chaîne sous l’onglet Terminal et en appuyant sur Entrée.

    Il se peut que l’onglet Console de débogage n’affiche pas la chaîne que vous entrez pendant votre saisie, mais la méthode Console.ReadLine capture bien votre entrée.

  7. Sélectionnez Exécuter>Entrer dans ou appuyez sur F11.

    Visual Studio Code met en surbrillance l’affectation de variable currentDate. La fenêtre Variables affiche la valeur retournée par l’appel à la méthode Console.ReadLine. L’onglet Terminal affiche la chaîne que vous avez entrée à l’invite.

  8. Sélectionnez Exécuter>Entrer dans ou appuyez sur F11.

    La fenêtre Variables affiche la valeur de la variable currentDate après l’affectation à partir de la propriété DateTime.Now.

  9. Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.

    Visual Studio Code appelle la méthode Console.WriteLine(String, Object, Object). La fenêtre de console affiche la chaîne mise en forme.

  10. Sélectionnez Exécuter>Pas à pas sortant ou appuyez sur Maj+F11.

    Bouton Pas à pas sortant

    Le terminal affiche « Appuyez sur n’importe quelle touche pour quitter... »

  11. Appuyez sur n’importe quelle touche pour quitter le programme.

Utiliser la configuration de build Release

Une fois que vous avez testé la version de débogage de votre application, vous devez également compiler et tester la version release. La version release intègre des optimisations du compilateur qui peuvent affecter le comportement d’une application. Par exemple, les optimisations du compilateur qui sont conçues pour améliorer les performances peuvent créer des conditions de concurrence critique dans les applications multithreads.

Pour générer et tester la version Release de votre application console, ouvrez l' terminal et exécutez la commande suivante :

dotnet run --configuration Release

Ressources additionnelles

Étapes suivantes

Dans ce tutoriel, vous avez utilisé les outils de débogage de Visual Studio Code. Dans le tutoriel suivant, vous publiez une version déployable de l’application.