Tutoriel : Déboguer une application console .NET à l’aide de Visual Studio Code
Ce tutoriel présente les outils de débogage disponibles dans Visual Studio Code pour l’utilisation d’applications .NET.
Prérequis
- Ce tutoriel fonctionne avec l’application console que vous créez dans Créer une application console .NET à l’aide de Visual Studio Code.
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 Debug, un programme est compilé avec des informations de débogage relatives aux symboles et aucune optimisation. L'optimisation complique le débogage, étant donné que la relation entre le code source et les instructions générées est plus complexe. La configuration Release d’un programme ne contient pas d’informations de débogage relatives aux symboles et est entièrement optimisée.
Par défaut, les paramètres de lancement de Visual Studio Code utilisent la configuration de build Debug. Vous n’avez donc pas besoin d’en changer avant le débogage.
Démarrez Visual Studio Code.
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 la ligne sur laquelle le point d’arrêt est exécuté.
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.
Configurer l’entrée de terminal
Le point d’arrêt se trouve après un appel de méthode Console.ReadLine
. La console de débogage n’accepte pas d’entrée de terminal pour un programme en cours d’exécution. Pour gérer l’entrée de terminal pendant le débogage, vous pouvez utiliser le terminal intégré (l’une des fenêtres Visual Studio Code) ou un terminal externe. Pour ce tutoriel, vous utilisez le terminal intégré.
Le dossier du projet contient un dossier .vscode. Ouvrez le fichier launch.json qui se trouve dans le dossier .vscode.
Dans launch.json, modifiez le paramètre
console
deinternalConsole
àintegratedTerminal
:"console": "integratedTerminal",
Enregistrez vos modifications.
Démarrer le débogage
Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.
Sélectionnez la flèche verte en haut du volet, en regard de .NET Core Launch (console). Pour démarrer le programme en mode Debug, vous pouvez également appuyer sur F5 ou choisir Exécuter>Démarrer le débogage dans le menu.
Sélectionnez l’onglet Terminal 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 Terminal en réponse à l’invite demandant d’indiquer un nom, puis appuyez sur Entrée.
L’exécution du programme s’arrête lorsqu’il 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.
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("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
currentDate
etname
.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.
Sélectionnez à nouveau l’onglet Terminal.
Les valeurs affichées dans la fenêtre de console correspondent aux modifications que vous avez apportées dans la fenêtre de débogage.
Appuyez sur une touche 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 tester cela avec une fonctionnalité de débogage utile appelée point d’arrêt conditionnel.
Cliquez avec le bouton droit (Ctrl-clic 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
Expression
dans la liste déroulante, entrez l’expression conditionnelle suivante, puis appuyez sur Entrée.String.IsNullOrEmpty(name)
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 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 de tels attributs comme 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 Terminal, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.
Comme la condition que vous avez spécifiée (
name
ayant la valeurnull
ou String.Empty) a été satisfaite, l’exécution du programme s’arrête quand elle atteint le point d’arrêt et avant que la méthodeConsole.WriteLine
s’exécute.La fenêtre Variables indique que la valeur de la
name
variable est""
, ou String.Empty.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
Sélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.
Sélectionnez l’onglet Terminal, puis appuyez sur une touche 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 Code vous permet également de parcourir un programme ligne par ligne et de surveiller son exécution. En règle générale, on définit un point d’arrêt pour suivre le déroulement du programme sur une petite portion de son code. Comme ce programme est petit, vous pouvons exécuter pas à pas la totalité du programme.
Définissez un point d’arrêt sur l’accolade ouvrante de la méthode
Main
.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 quename
etcurrentDate
ont les valeurs par défaut.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio Code met en surbrillance la ligne suivante.
Sélectionnez Exécuter>Effectuer un pas à pas détaillé 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 ligneConsole.ReadLine
pour l’élémentname
. La fenêtre Variables n’est pas modifiée et l’onglet Terminal affiche l’invite « Quel est votre nom ? ».Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio met en surbrillance l’affectation de variable
name
. La fenêtre Variables indique quename
a toujours la valeurnull
.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 Terminal 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 Exécuter>Effectuer un pas à pas détaillé 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.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
La fenêtre Variables montre la valeur de la variable
currentDate
après l’attribution de la propriété DateTime.Now.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.
Sélectionnez Exécuter>Pas à pas sortant ou appuyez sur Maj+F11.
Sélectionnez l’onglet Terminal.
Le terminal affiche « Appuyez sur une 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 Debug de votre application, vous devez également compiler et tester la version Release. La version Release intègre des optimisations de compilateur susceptibles d’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 le terminal et exécutez la commande suivante :
dotnet run --configuration Release
Ressources supplémentaires
Étapes suivantes
Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio Code. Dans le tutoriel suivant, vous allez publier une version déployable de l’application.
Ce tutoriel présente les outils de débogage disponibles dans Visual Studio Code pour l’utilisation d’applications .NET.
Prérequis
- Ce tutoriel fonctionne avec l’application console que vous créez dans Créer une application console .NET à l’aide de Visual Studio Code.
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 Debug, un programme est compilé avec des informations de débogage relatives aux symboles et aucune optimisation. L'optimisation complique le débogage, étant donné que la relation entre le code source et les instructions générées est plus complexe. La configuration Release d’un programme ne contient pas d’informations de débogage relatives aux symboles et est entièrement optimisée.
Par défaut, les paramètres de lancement de Visual Studio Code utilisent la configuration de build Debug. Vous n’avez donc pas besoin d’en changer avant le débogage.
Démarrez Visual Studio Code.
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 la ligne sur laquelle le point d’arrêt est exécuté.
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.
Configurer l’entrée de terminal
Le point d’arrêt se trouve après un appel de méthode Console.ReadLine
. La console de débogage n’accepte pas d’entrée de terminal pour un programme en cours d’exécution. Pour gérer l’entrée de terminal pendant le débogage, vous pouvez utiliser le terminal intégré (l’une des fenêtres Visual Studio Code) ou un terminal externe. Pour ce tutoriel, vous utilisez le terminal intégré.
Le dossier du projet contient un dossier .vscode. Ouvrez le fichier launch.json qui se trouve dans le dossier .vscode.
Dans launch.json, modifiez le paramètre
console
deinternalConsole
àintegratedTerminal
:"console": "integratedTerminal",
Enregistrez vos modifications.
Démarrer le débogage
Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.
Sélectionnez la flèche verte en haut du volet, en regard de .NET Core Launch (console). Pour démarrer le programme en mode Debug, vous pouvez également appuyer sur F5 ou choisir Exécuter>Démarrer le débogage dans le menu.
Sélectionnez l’onglet Terminal 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 Terminal en réponse à l’invite demandant d’indiquer un nom, puis appuyez sur Entrée.
L’exécution du programme s’arrête lorsqu’il 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.
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("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
currentDate
etname
.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.
Sélectionnez à nouveau l’onglet Terminal.
Les valeurs affichées dans la fenêtre de console correspondent aux modifications que vous avez apportées dans la fenêtre de débogage.
Appuyez sur une touche 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 tester cela avec une fonctionnalité de débogage utile appelée point d’arrêt conditionnel.
Cliquez avec le bouton droit (Ctrl-clic 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
Expression
dans la liste déroulante, entrez l’expression conditionnelle suivante, puis appuyez sur Entrée.String.IsNullOrEmpty(name)
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 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 de tels attributs comme 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 Terminal, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.
Comme la condition que vous avez spécifiée (
name
ayant la valeurnull
ou String.Empty) a été satisfaite, l’exécution du programme s’arrête quand elle atteint le point d’arrêt et avant que la méthodeConsole.WriteLine
s’exécute.La fenêtre Variables indique que la valeur de la
name
variable est""
, ou String.Empty.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
Sélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.
Sélectionnez l’onglet Terminal, puis appuyez sur une touche 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 Code vous permet également de parcourir un programme ligne par ligne et de surveiller son exécution. En règle générale, on définit un point d’arrêt pour suivre le déroulement du programme sur une petite portion de son code. Comme ce programme est petit, vous pouvons exécuter pas à pas la totalité du programme.
Définissez un point d’arrêt sur l’accolade ouvrante de la méthode
Main
.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 quename
etcurrentDate
ont les valeurs par défaut.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio Code met en surbrillance la ligne suivante.
Sélectionnez Exécuter>Effectuer un pas à pas détaillé 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 ligneConsole.ReadLine
pour l’élémentname
. La fenêtre Variables n’est pas modifiée et l’onglet Terminal affiche l’invite « Quel est votre nom ? ».Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio met en surbrillance l’affectation de variable
name
. La fenêtre Variables indique quename
a toujours la valeurnull
.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 Terminal 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 Exécuter>Effectuer un pas à pas détaillé 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.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
La fenêtre Variables montre la valeur de la variable
currentDate
après l’attribution de la propriété DateTime.Now.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.
Sélectionnez Exécuter>Pas à pas sortant ou appuyez sur Maj+F11.
Sélectionnez l’onglet Terminal.
Le terminal affiche « Appuyez sur une 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 Debug de votre application, vous devez également compiler et tester la version Release. La version Release intègre des optimisations de compilateur susceptibles d’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 le terminal et exécutez la commande suivante :
dotnet run --configuration Release
Ressources supplémentaires
Étapes suivantes
Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio Code. Dans le tutoriel suivant, vous allez publier une version déployable de l’application.
Ce tutoriel présente les outils de débogage disponibles dans Visual Studio Code pour l’utilisation d’applications .NET.
Prérequis
- Ce tutoriel fonctionne avec l’application console que vous créez dans Créer une application console .NET à l’aide de Visual Studio Code.
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 Debug, un programme est compilé avec des informations de débogage relatives aux symboles et aucune optimisation. L'optimisation complique le débogage, étant donné que la relation entre le code source et les instructions générées est plus complexe. La configuration Release d’un programme ne contient pas d’informations de débogage relatives aux symboles et est entièrement optimisée.
Par défaut, les paramètres de lancement de Visual Studio Code utilisent la configuration de build Debug. Vous n’avez donc pas besoin d’en changer avant le débogage.
Démarrez Visual Studio Code.
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 la ligne sur laquelle le point d’arrêt est exécuté.
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.
Configurer l’entrée de terminal
Le point d’arrêt se trouve après un appel de méthode Console.ReadLine
. La console de débogage n’accepte pas d’entrée de terminal pour un programme en cours d’exécution. Pour gérer l’entrée de terminal pendant le débogage, vous pouvez utiliser le terminal intégré (l’une des fenêtres Visual Studio Code) ou un terminal externe. Pour ce tutoriel, vous utilisez le terminal intégré.
Ouvrez .vscode/launch.json.
Modifiez le
console
paramètre en remplaçantintegratedTerminal
parinternalConsole
:"console": "integratedTerminal",
Enregistrez vos modifications.
Démarrer le débogage
Ouvrez la vue Débogage en sélectionnant l’icône Débogage dans le menu de gauche.
Sélectionnez la flèche verte en haut du volet, en regard de .NET Core Launch (console). Pour démarrer le programme en mode Debug, vous pouvez également appuyer sur F5 ou choisir Exécuter>Démarrer le débogage dans le menu.
Sélectionnez l’onglet Terminal 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 Terminal en réponse à l’invite demandant d’indiquer un nom, puis appuyez sur Entrée.
L’exécution du programme s’arrête lorsqu’il 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.
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("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
currentDate
etname
.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.
Sélectionnez à nouveau l’onglet Terminal.
Les valeurs affichées dans la fenêtre de console correspondent aux modifications que vous avez apportées dans la fenêtre de débogage.
Appuyez sur une touche 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 tester cela avec une fonctionnalité de débogage utile appelée point d’arrêt conditionnel.
Cliquez avec le bouton droit (Ctrl-clic 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
Expression
dans la liste déroulante, entrez l’expression conditionnelle suivante, puis appuyez sur Entrée.String.IsNullOrEmpty(name)
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 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 de tels attributs comme 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 Terminal, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.
Comme la condition que vous avez spécifiée (
name
ayant la valeurnull
ou String.Empty) a été satisfaite, l’exécution du programme s’arrête quand elle atteint le point d’arrêt et avant que la méthodeConsole.WriteLine
s’exécute.La fenêtre Variables indique que la valeur de la
name
variable est""
, ou String.Empty.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
Sélectionnez le bouton Continuer dans la barre d’outils pour continuer l’exécution du programme.
Sélectionnez l’onglet Terminal, puis appuyez sur une touche 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 Code vous permet également de parcourir un programme ligne par ligne et de surveiller son exécution. En règle générale, on définit un point d’arrêt pour suivre le déroulement du programme sur une petite portion de son code. Comme ce programme est petit, vous pouvons exécuter pas à pas la totalité du programme.
Définissez un point d’arrêt sur l’accolade ouvrante de la méthode
Main
.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 quename
etcurrentDate
ont les valeurs par défaut.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio Code met en surbrillance la ligne suivante.
Sélectionnez Exécuter>Effectuer un pas à pas détaillé 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 ligneConsole.ReadLine
pour l’élémentname
. La fenêtre Variables n’est pas modifiée et l’onglet Terminal affiche l’invite « Quel est votre nom ? ».Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio met en surbrillance l’affectation de variable
name
. La fenêtre Variables est effacée.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 Terminal n’affiche pas la chaîne que vous entrez pendant votre saisie, mais la méthode Console.ReadLine capture bien votre entrée.
La fenêtre Variables affiche la valeur retournée par l’appel à la méthode Console.ReadLine.
Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
Visual Studio Code met en surbrillance l’affectation de variable
currentDate
. L’onglet Terminal affiche la chaîne que vous avez entrée à l’invite.Sélectionnez Exécuter>Effectuer un pas à pas détaillé ou appuyez sur F11.
La fenêtre Variables montre la valeur de la variable
currentDate
après l’attribution de la propriété DateTime.Now.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.
Sélectionnez Exécuter>Pas à pas sortant ou appuyez sur Maj+F11.
Sélectionnez l’onglet Terminal.
Le terminal affiche « Appuyez sur une 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 Debug de votre application, vous devez également compiler et tester la version Release. La version Release intègre des optimisations de compilateur susceptibles d’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 le terminal et exécutez la commande suivante :
dotnet run --configuration Release
Ressources supplémentaires
Étapes suivantes
Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio Code. Dans le tutoriel suivant, vous allez publier une version déployable de l’application.