Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce didacticiel présente les outils de débogage disponibles dans Visual Studio.
Important
Tous les raccourcis clavier sont basés sur les valeurs par défaut de Visual Studio. Vos raccourcis clavier peuvent varier. Pour plus d’informations, consultez Raccourcis du tableau d’accès dans Visual Studio.
Ce didacticiel présente les outils de débogage disponibles dans Visual Studio Code pour l’utilisation d’applications .NET.
Ce tutoriel présente les outils de débogage disponibles dans GitHub Codespaces pour l’utilisation d’applications .NET.
Prerequisites
Ce didacticiel fonctionne avec l’application console que vous créez dans Créer une application console .NET.
Utiliser la configuration de build Debug
Debug et Release sont des configurations de build intégrées de Visual Studio. 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, Visual Studio utilise la configuration de build de débogage. Vous n'avez donc pas besoin de le modifier avant le débogage.
Démarrez Visual Studio.
Ouvrez le projet que vous avez créé dans Créer une application console .NET.
La configuration de build actuelle s’affiche dans la barre d’outils. L’image de barre d’outils suivante montre que Visual Studio est configuré pour compiler la version de débogage de l’application :
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.
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 sur cette ligne. La marge gauche est à gauche des numéros de ligne. D’autres façons de définir un point d’arrêt consistent à placer le curseur sur la ligne de code, puis en appuyant sur F9 ou en choisissant Déboguer>Basculer point d’arrêt à partir de la barre de menus.
Comme l’illustre l’image suivante, Visual Studio indique la ligne sur laquelle le point d’arrêt est défini en le mettant en surbrillance et en affichant un point rouge dans la marge gauche.
fenêtre de programme
Appuyez sur F5 pour exécuter le programme en mode Débogage. Une autre façon de démarrer le débogage consiste à choisir Déboguer>Démarrer le débogage à partir du menu.
Entrez une chaîne dans la fenêtre de console lorsque le programme demande 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
Console.WriteLineméthode. La fenêtre Locals affiche les valeurs des variables définies dans la méthode en cours d’exécution.
Démarrez Visual Studio Code.
Ouvrez le dossier du projet que vous avez créé dans Créer une application console .NET.
Ouvrez le fichier Program.cs.
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.
Ouvrez votre espace de code GitHub que vous avez créé dans Créer une application console .NET.
Ouvrez le fichier HelloWorld.cs .
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. Vous pouvez également définir un point d’arrêt en appuyant sur F9 pendant que la ligne de code est sélectionnée.
Démarrer le débogage
L’exécution du programme s’arrête lorsqu’elle atteint le point d’arrêt, comme décrit dans la section précédente. La fenêtre Locals affiche les valeurs des variables définies dans la méthode en cours d’exécution.
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.
Les paramètres de lancement de Visual Studio Code utilisent par défaut la configuration de compilation pour le débogage. Vous n'avez donc pas besoin de la modifier avant de procéder au débogage.
Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.
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.
Si vous êtes invité à sélectionner La configuration de lancement, sélectionnez C# : Déboguer le fichier actif.
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.
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 sectionVariables locales de la fenêtre variablesaffiche les valeurs des variables définies dans la méthode en cours d’exécution.
Par défaut, GitHub Codespaces utilise la configuration de build de débogage. Vous n'avez donc pas besoin de le modifier avant le débogage.
Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.
Sélectionnez Exécuter et déboguer. Si vous y êtes invité, sélectionnez C# comme débogueur, puis sélectionnez C# : Déboguer le fichier actif comme configuration de lancement.
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.
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 sectionVariables locales de la fenêtre variablesaffiche les valeurs des variables définies dans la méthode en cours d’exécution.
Utiliser la fenêtre Immédiate
La fenêtre Immédiat vous permet d’interagir avec l’application que vous déboguez. Vous pouvez modifier de manière interactive la valeur des variables pour voir comment elle affecte votre programme.
Si la fenêtre Immediate n’est pas visible, affichez-la en choisissant Debug>Windows>Immediate.
Entrez
name = "Gracie"dans la fenêtre Exécution puis appuyez sur la touche Entrée.Entrez
currentDate = DateTime.Parse("2026-02-05T20:25:00Z").ToUniversalTime()dans la fenêtre Exécution puis appuyez sur la touche Entrée.La fenêtre Immediate affiche la valeur de la variable de chaîne et les propriétés de la valeur DateTime. En outre, les valeurs des variables sont mises à jour dans la fenêtre Locals .
Appuyez sur F5 pour continuer l’exécution du programme. Une autre façon de continuer consiste à choisir Debug>Continuer à partir du menu.
Les valeurs affichées dans la fenêtre de console correspondent aux modifications que vous avez apportées dans la fenêtre Immédiate.
Appuyez sur n’importe quelle touche pour quitter l’application et arrêter le débogage.
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.
Sélectionnez l’onglet Console de débogage.
Entrez
name = "Gracie"à l’invite en bas de la fenêtre Console de débogage, puis appuyez sur la touche Entrée.
Entrez
currentDate = DateTime.Parse("2026-01-28T20:54: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 . 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 .
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
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.
Cliquez avec le bouton droit sur le point rouge qui représente le point d’arrêt. Dans le menu contextuel, sélectionnez Conditions pour ouvrir la boîte de dialogue Paramètres du point d’arrêt. Cochez la case conditions si elle n’est pas déjà sélectionnée.
Pour l’expression conditionnelle, entrez le code suivant dans le champ de texte.
string.IsNullOrEmpty(name)String.IsNullOrEmpty(name)Chaque fois que le point d’arrêt est atteint, le débogueur appelle la
String.IsNullOrWhiteSpace(name)méthode et s’arrête sur cette ligne uniquement si l’appel de méthode retournetrue.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 certain nombre de fois. Une autre option consiste à spécifier une condition de filtre, qui interrompt l’exécution du programme en fonction d’attributs tels qu’un identificateur de thread, un nom de processus ou un nom de thread.
Sélectionnez Fermer pour fermer la boîte de dialogue.
Démarrez le programme avec débogage en appuyant sur F5.
Dans la fenêtre de console, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.
Étant donné que la condition que vous avez spécifiée (
nameestnullString.Emptyou) 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 laConsole.WriteLineméthode.Sélectionnez la fenêtre Locals , qui affiche les valeurs des variables locales dans la méthode en cours d’exécution. Dans ce cas,
Mainest la méthode en cours d’exécution. Notez que la valeur de lanamevariable est"", ou String.Empty.Vérifiez que la valeur est une chaîne vide en entrant l’instruction suivante dans la fenêtre Exécution et en appuyant sur Entrée. Le résultat est
true.? name == String.Empty? String.IsNullOrEmpty(name)Le point d’interrogation dirige la fenêtre immédiate pour évaluer une expression.
Appuyez sur F5 pour continuer l’exécution du programme.
Appuyez sur n’importe quelle touche pour fermer la fenêtre de console et arrêter le débogage.
Effacez le point d’arrêt en cliquant sur le point dans la marge gauche de la fenêtre de code. D'autres façons de désactiver un point d'arrêt sont d'appuyer sur F9 ou de choisir Debug > Basculer le point d'arrêt pendant que la ligne de code est sélectionnée.
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.
Sélectionnez
Expressiondans la liste déroulante, entrez l’expression conditionnelle suivante, puis appuyez sur Enter.String.IsNullOrEmpty(name)
Chaque fois que le point d’arrêt est atteint, le débogueur appelle la
String.IsNullOrEmpty(name)méthode et s’arrête sur cette ligne uniquement si l’appel de méthode retournetrue.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 d’attributs tels qu’un identificateur de thread, un nom de processus ou un nom de thread.
Démarrez le programme avec débogage en appuyant sur F5.
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 (
nameestnullou 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éthodeConsole.WriteLine.La fenêtre variables
indique que la valeur de la variable est ou . 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.EmptySélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.
Appuyez sur Entrée pour quitter le programme et arrêter le débogage.
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.
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 vous permet également de parcourir pas à pas chaque ligne d'un programme et de suivre 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.
Définissez un point d’arrêt sur la ligne de code qui affiche l’invite « Quel est votre nom ? ».
Choisissez Déboguer>Entrer dans. Une autre façon de déboguer une instruction à la fois consiste à appuyer sur F11.
Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante d’exécution.
À ce stade, la fenêtre Locals indique que le
argstableau est vide et quenameetcurrentDateont des valeurs par défaut. En outre, Visual Studio a ouvert une fenêtre de console vide.Appuyez sur F11. Visual Studio met en évidence l’instruction qui inclut l’affectation de variable
name. La fenêtre Locals indique quenamenull, et la fenêtre de console affiche la chaîne "Quel est votre nom ?".Répondez à l’invite en entrant une chaîne dans la fenêtre de console et en appuyant sur Entrée. La console ne répond pas et la chaîne que vous avez entrée n’est pas affichée dans la fenêtre de console, mais la Console.ReadLine méthode capture néanmoins votre entrée.
Appuyez sur F11. Visual Studio met en évidence l’instruction qui inclut l’affectation de variable
currentDate. La fenêtre Locals affiche la valeur retournée par l’appel à la Console.ReadLine méthode. La fenêtre de console affiche également la chaîne que vous avez saisie à l’invite.Appuyez sur F11. La fenêtre Locals affiche la valeur de la
currentDatevariable après l’affectation de la DateTime.Now propriété. La fenêtre de console n’est pas modifiée.Appuyez sur F11. Visual Studio appelle la méthode Console.WriteLine(String, Object, Object). La fenêtre de console affiche la chaîne mise en forme.
Choisissez Déboguer>Sortir. Une autre façon d’arrêter l’exécution pas à pas consiste à appuyer sur Shift+F11.
La fenêtre de console affiche un message et attend que vous appuyiez sur une touche.
Appuyez sur n’importe quelle touche pour fermer la fenêtre de console et arrêter le débogage.
Visual Studio Code vous permet également de parcourir pas à pas les lignes d'un programme 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.
Définissez un point d’arrêt sur la ligne de code qui affiche l’invite « Quel est votre nom ? ».
Appuyez sur F5 pour démarrer le débogage.
Visual Studio Code met en évidence la ligne de point d’arrêt.
À ce stade, la fenêtre Variables indique que le tableau
argsest vide et quenameetcurrentDateont des valeurs par défaut.Sélectionnez Pas à pas dans la barre d’outils Debug ou appuyez sur F11.
Visual Studio Code met en évidence la ligne suivante.
Visual Studio Code exécute le
Console.WriteLinepour l'invite de saisie du nom et met en surbrillance la ligne d'exécution suivante. La ligne suivante est la ligneConsole.ReadLinepour l’élémentname. La fenêtre Variables est inchangée et l’onglet Terminal affiche l’invite « Quel est votre nom ? ».Sélectionnez Step Into ou appuyez sur F11.
Visual Studio Code met en évidence l’affectation de variable
name. La fenêtre Variables indique quenameest toujoursnull.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.
Sélectionnez Step Into ou appuyez sur F11.
Visual Studio Code met en évidence 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.Sélectionnez Step Into ou appuyez sur F11.
La fenêtre Variables affiche la valeur de la variable
currentDateaprès l’affectation à partir de la propriété DateTime.Now.Sélectionnez Step Into 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.
Sélectionnez Sortir ou appuyez sur Maj+F11.
Le terminal affiche « Appuyez sur n’importe quelle touche pour quitter... »
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 parfois affecter négativement le comportement d’une application. Par exemple, les optimisations du compilateur conçues pour améliorer les performances peuvent créer des situations de compétition dans des applications multithread.
Pour générer et tester la version Release de votre application console, modifiez la configuration de build dans la barre d’outils de Debug en Version.
Lorsque vous appuyez sur F5 ou choisissez Build Solution dans le menu Build, Visual Studio compile la version Release de l’application. Vous pouvez le tester comme vous l'avez fait avec la version de débogage.
Pour générer et tester la version Release de votre application console, ouvrez l' terminal
dotnet run --configuration Release
Pour générer et tester la version Release de votre application console, exécutez la commande suivante dans le terminal :
dotnet run --configuration Release HelloWorld.cs
Prochaines étapes
Dans ce tutoriel, vous avez utilisé des outils de débogage. Dans le tutoriel suivant, vous publiez une version déployable de l’application.