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

Ce tutoriel 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 clavier dans Visual Studio.

Prérequis

Utiliser la configuration de build Debug

Debug et Release sont les 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 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, Visual Studio utilise la configuration de build Debug. Vous n’avez donc pas besoin de la modifier avant le débogage.

  1. Démarrez Visual Studio.

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

    La configuration de build actuelle s’affiche sur la barre d’outils. L’image de barre d’outils suivante montre que Visual Studio est configuré pour compiler la version Debug de l’application :

    Visual Studio toolbar with debug highlighted

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é.

  1. 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. Pour définir un point d’arrêt, vous pouvez également placer le curseur dans la ligne de code, puis appuyer sur F9 ou choisir Debug>Changer de point d’arrêt dans la barre de menu.

    Comme le montre l’image suivante, Visual Studio affiche la ligne sur laquelle le point d’arrêt est défini en la mettant en surbrillance et en affichant un point rouge dans la marge de gauche.

    Visual Studio Program window with breakpoint set

  2. Appuyez sur F5 pour exécuter le programme en mode débogage. Pour démarrer le débogage, vous pouvez également choisir Déboguer>Démarrer le débogage à partir du menu.

  3. Entrez une chaîne dans la fenêtre de console lorsque le programme vous invite à entrer un nom, puis appuyez sur Entrée.

  4. 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 fenêtre Variables locales affiche les valeurs des variables définies dans la méthode en cours d’exécution.

    Screenshot of a breakpoint in Visual Studio

Utiliser la fenêtre Exécution

La fenêtre Exécution 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.

  1. Si la fenêtre Exécution n’est pas visible, affichez-la en choisissant Débogage>Fenêtres>Exécution.

  2. Entrez name = "Gracie" dans la fenêtre Exécution et appuyez sur la touche Entrée.

  3. Entrez currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() dans la fenêtre Exécution et appuyez sur la touche Entrée.

    La fenêtre Exécution 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 Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Appuyez sur F5 pour poursuivre l’exécution du programme. Pour continuer, vous pouvez également choisir Déboguer>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 Exécution.

    Console window showing the entered values

  5. 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.

  1. 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 de point d’arrêt. Cochez la case Conditions si elle n’est pas déjà sélectionnée.

    Editor showing breakpoint settings panel - C#

  2. Pour Expression conditionnelle, entrez le code suivant dans le champ qui montre un exemple de code qui teste si x est égal à 5.

    string.IsNullOrEmpty(name)
    
    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 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. Sélectionnez Fermer pour fermer la boîte de dialogue.

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

  5. Dans la fenêtre de console, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.

  6. Comme la condition que vous avez spécifiée (name ayant la valeur null 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éthode Console.WriteLine s’exécute.

  7. Sélectionnez la fenêtre Variables locales, qui montre les valeurs des variables locales pour la méthode en cours d’exécution. Dans ce cas, Main est la méthode en cours d’exécution. Notez que la valeur de la variable name est "" ou String.Empty.

  8. 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 demande à la fenêtre Exécution d’évaluer une expression.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Appuyez sur F5 pour poursuivre l’exécution du programme.

  10. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

  11. 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 choisir Déboguer > Basculer le point d’arrêt pendant que la ligne de code est sélectionnée.

Pas à pas dans un programme

Visual Studio 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.

  1. Choisissez Déboguer>Effectuer un pas à pas détaillé. Pour déboguer une instruction à la fois, vous pouvez également appuyer sur F11.

    Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante de l’exécution.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    À ce stade, la fenêtre Variables locales indique que le tableau args est vide et que name et currentDate ont des valeurs par défaut. En outre, Visual Studio a ouvert une fenêtre de console vide.

  2. Appuyez sur F11. Visual Studio place maintenant en surbrillance la ligne suivante à exécuter. La fenêtre Variables locales est inchangée et la fenêtre de console reste vide.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable name. La fenêtre Variables locales montre que name est null, et la fenêtre de console affiche la chaîne « Quel est votre nom ? ».

  4. 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 entrez ne s’affiche pas dans la fenêtre de console, mais la méthode Console.ReadLine capture néanmoins votre entrée.

  5. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable currentDate. La fenêtre Variables locales affiche la valeur retournée par l’appel à la méthode Console.ReadLine. La fenêtre de console affiche également la chaîne que vous avez entrée à l’invite.

  6. Appuyez sur F11. La fenêtre Variables locales montre la valeur de la variable currentDate après l’attribution de la propriété DateTime.Now. La fenêtre de console est inchangée.

  7. 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.

  8. Choisissez Déboguer>Pas à pas sortant. Pour arrêter l’exécution pas à pas, vous pouvez également appuyer sur Maj+F11.

    La fenêtre de console affiche un message et attend que vous appuyiez sur une touche.

  9. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

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 du compilateur qui peuvent parfois affecter négativement 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, changez la configuration de build dans la barre d’outils de Debug en Release.

default Visual Studio toolbar with release highlighted

Quand vous appuyez sur F5 ou que vous choisissez Générer la solution à partir du menu Build, Visual Studio compile la version Release de l’application. Vous pouvez effectuer un test comme vous l’avez fait pour la version Debug.

Étapes suivantes

Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio. 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.

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 clavier dans Visual Studio.

Prérequis

Utiliser la configuration de build Debug

Debug et Release sont les 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 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, Visual Studio utilise la configuration de build Debug. Vous n’avez donc pas besoin de la modifier avant le débogage.

  1. Démarrez Visual Studio.

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

    La configuration de build actuelle s’affiche sur la barre d’outils. L’image de barre d’outils suivante montre que Visual Studio est configuré pour compiler la version Debug de l’application :

    Visual Studio toolbar with debug highlighted

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é.

  1. 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. Pour définir un point d’arrêt, vous pouvez également placer le curseur dans la ligne de code, puis appuyer sur F9 ou choisir Debug>Changer de point d’arrêt dans la barre de menu.

    Comme le montre l’image suivante, Visual Studio affiche la ligne sur laquelle le point d’arrêt est défini en la mettant en surbrillance et en affichant un point rouge dans la marge de gauche.

    Visual Studio Program window with breakpoint set

  2. Appuyez sur F5 pour exécuter le programme en mode débogage. Pour démarrer le débogage, vous pouvez également choisir Déboguer>Démarrer le débogage à partir du menu.

  3. Entrez une chaîne dans la fenêtre de console lorsque le programme vous invite à entrer un nom, puis appuyez sur Entrée.

  4. 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 fenêtre Variables locales affiche les valeurs des variables définies dans la méthode en cours d’exécution.

    Screenshot of a breakpoint in Visual Studio

Utiliser la fenêtre Exécution

La fenêtre Exécution 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.

  1. Si la fenêtre Exécution n’est pas visible, affichez-la en choisissant Débogage>Fenêtres>Exécution.

  2. Entrez name = "Gracie" dans la fenêtre Exécution et appuyez sur la touche Entrée.

  3. Entrez currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() dans la fenêtre Exécution et appuyez sur la touche Entrée.

    La fenêtre Exécution 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 Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Appuyez sur F5 pour poursuivre l’exécution du programme. Pour continuer, vous pouvez également choisir Déboguer>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 Exécution.

    Console window showing the entered values

  5. 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.

  1. 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 de point d’arrêt. Cochez la case Conditions si elle n’est pas déjà sélectionnée.

    Editor showing breakpoint settings panel - C#

  2. Pour Expression conditionnelle, entrez le code suivant dans le champ qui montre un exemple de code qui teste si x est égal à 5.

    string.IsNullOrEmpty(name)
    
    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 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. Sélectionnez Fermer pour fermer la boîte de dialogue.

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

  5. Dans la fenêtre de console, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.

  6. Comme la condition que vous avez spécifiée (name ayant la valeur null 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éthode Console.WriteLine s’exécute.

  7. Sélectionnez la fenêtre Variables locales, qui montre les valeurs des variables locales pour la méthode en cours d’exécution. Dans ce cas, Main est la méthode en cours d’exécution. Notez que la valeur de la variable name est "" ou String.Empty.

  8. 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 demande à la fenêtre Exécution d’évaluer une expression.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Appuyez sur F5 pour poursuivre l’exécution du programme.

  10. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

  11. 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 choisir Déboguer > Basculer le point d’arrêt pendant que la ligne de code est sélectionnée.

Pas à pas dans un programme

Visual Studio 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.

  1. Choisissez Déboguer>Effectuer un pas à pas détaillé. Pour déboguer une instruction à la fois, vous pouvez également appuyer sur F11.

    Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante de l’exécution.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    À ce stade, la fenêtre Variables locales indique que le tableau args est vide et que name et currentDate ont des valeurs par défaut. En outre, Visual Studio a ouvert une fenêtre de console vide.

  2. Appuyez sur F11. Visual Studio place maintenant en surbrillance la ligne suivante à exécuter. La fenêtre Variables locales est inchangée et la fenêtre de console reste vide.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable name. La fenêtre Variables locales montre que name est null, et la fenêtre de console affiche la chaîne « Quel est votre nom ? ».

  4. 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 entrez ne s’affiche pas dans la fenêtre de console, mais la méthode Console.ReadLine capture néanmoins votre entrée.

  5. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable currentDate. La fenêtre Variables locales affiche la valeur retournée par l’appel à la méthode Console.ReadLine. La fenêtre de console affiche également la chaîne que vous avez entrée à l’invite.

  6. Appuyez sur F11. La fenêtre Variables locales montre la valeur de la variable currentDate après l’attribution de la propriété DateTime.Now. La fenêtre de console est inchangée.

  7. 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.

  8. Choisissez Déboguer>Pas à pas sortant. Pour arrêter l’exécution pas à pas, vous pouvez également appuyer sur Maj+F11.

    La fenêtre de console affiche un message et attend que vous appuyiez sur une touche.

  9. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

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 du compilateur qui peuvent parfois affecter négativement 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, changez la configuration de build dans la barre d’outils de Debug en Release.

default Visual Studio toolbar with release highlighted

Quand vous appuyez sur F5 ou que vous choisissez Générer la solution à partir du menu Build, Visual Studio compile la version Release de l’application. Vous pouvez effectuer un test comme vous l’avez fait pour la version Debug.

Étapes suivantes

Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio. 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.

Prérequis

Utiliser la configuration de build Debug

Debug et Release sont les 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 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, Visual Studio utilise la configuration de build Debug. Vous n’avez donc pas besoin de la modifier avant le débogage.

  1. Démarrez Visual Studio.

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

    La configuration de build actuelle s’affiche sur la barre d’outils. L’image de barre d’outils suivante montre que Visual Studio est configuré pour compiler la version Debug de l’application :

    Visual Studio toolbar with debug highlighted

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é.

  1. 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. Pour définir un point d’arrêt, vous pouvez également placer le curseur dans la ligne de code, puis appuyer sur F9 ou choisir Debug>Changer de point d’arrêt dans la barre de menu.

    Comme le montre l’image suivante, Visual Studio affiche la ligne sur laquelle le point d’arrêt est défini en la mettant en surbrillance et en affichant un point rouge dans la marge de gauche.

    Visual Studio Program window with breakpoint set

  2. Appuyez sur F5 pour exécuter le programme en mode débogage. Pour démarrer le débogage, vous pouvez également choisir Déboguer>Démarrer le débogage à partir du menu.

  3. Entrez une chaîne dans la fenêtre de console lorsque le programme vous invite à entrer un nom, puis appuyez sur Entrée.

  4. 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 fenêtre Variables locales affiche les valeurs des variables définies dans la méthode en cours d’exécution.

    Screenshot of a breakpoint in Visual Studio

Utiliser la fenêtre Exécution

La fenêtre Exécution 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.

  1. Si la fenêtre Exécution n’est pas visible, affichez-la en choisissant Débogage>Fenêtres>Exécution.

  2. Entrez name = "Gracie" dans la fenêtre Exécution et appuyez sur la touche Entrée.

  3. Entrez currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() dans la fenêtre Exécution et appuyez sur la touche Entrée.

    La fenêtre Exécution 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 Variables locales.

    Locals and Immediate Windows in Visual Studio 2019

  4. Appuyez sur F5 pour poursuivre l’exécution du programme. Pour continuer, vous pouvez également choisir Déboguer>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 Exécution.

    Console window showing the entered values

  5. 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.

  1. 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 de point d’arrêt. Cochez la case Conditions si elle n’est pas déjà sélectionnée.

    Editor showing breakpoint settings panel - C#

  2. Pour Expression conditionnelle, entrez le code suivant dans le champ qui montre un exemple de code qui teste si x est égal à 5.

    String.IsNullOrEmpty(name)
    
    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 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. Sélectionnez Fermer pour fermer la boîte de dialogue.

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

  5. Dans la fenêtre de console, appuyez sur la touche Entrée lorsque vous êtes invité à entrer votre nom.

  6. Comme la condition que vous avez spécifiée (name ayant la valeur null 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éthode Console.WriteLine s’exécute.

  7. Sélectionnez la fenêtre Variables locales, qui montre les valeurs des variables locales pour la méthode en cours d’exécution. Dans ce cas, Main est la méthode en cours d’exécution. Notez que la valeur de la variable name est "" ou String.Empty.

  8. 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 demande à la fenêtre Exécution d’évaluer une expression.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Appuyez sur F5 pour poursuivre l’exécution du programme.

  10. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

  11. 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 choisir Déboguer > Basculer le point d’arrêt pendant que la ligne de code est sélectionnée.

Pas à pas dans un programme

Visual Studio 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. Bien qu’aucun débogage ne soit en cours et que le focus soit sur Visual Studio :

  1. Choisissez Déboguer>Effectuer un pas à pas détaillé. Pour déboguer une instruction à la fois, vous pouvez également appuyer sur F11.

    Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante de l’exécution.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    À ce stade, la fenêtre Variables locales indique que le tableau args est vide et que name et currentDate ont des valeurs par défaut. En outre, Visual Studio a ouvert une fenêtre de console vide.

  2. Appuyez sur F11. Visual Studio place maintenant en surbrillance la ligne suivante à exécuter. La fenêtre Variables locales est inchangée et la fenêtre de console reste vide.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable name. La fenêtre Variables locales montre que name est null, et la fenêtre de console affiche la chaîne « Quel est votre nom ? ».

  4. 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 entrez ne s’affiche pas dans la fenêtre de console, mais la méthode Console.ReadLine capture néanmoins votre entrée.

  5. Appuyez sur F11. Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable currentDate. La fenêtre Variables locales affiche la valeur retournée par l’appel à la méthode Console.ReadLine. La fenêtre de console affiche également la chaîne que vous avez entrée à l’invite.

  6. Appuyez sur F11. La fenêtre Variables locales montre la valeur de la variable currentDate après l’attribution de la propriété DateTime.Now. La fenêtre de console est inchangée.

  7. 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.

  8. Choisissez Déboguer>Pas à pas sortant. Pour arrêter l’exécution pas à pas, vous pouvez également appuyer sur Maj+F11.

    La fenêtre de console affiche un message et attend que vous appuyiez sur une touche.

  9. Appuyez sur une touche pour fermer la fenêtre de console et arrêter le débogage.

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 du compilateur qui peuvent parfois affecter négativement 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, changez la configuration de build dans la barre d’outils de Debug en Release.

default Visual Studio toolbar with release highlighted

Quand vous appuyez sur F5 ou que vous choisissez Générer la solution à partir du menu Build, Visual Studio compile la version Release de l’application. Vous pouvez effectuer un test comme vous l’avez fait pour la version Debug.

Étapes suivantes

Dans ce tutoriel, vous avez utilisé des outils de débogage Visual Studio. Dans le tutoriel suivant, vous allez publier une version déployable de l’application.