Tutoriel : Déboguer une application console .NET à l’aide de Visual Studio pour Mac
Important
Microsoft a annoncé la mise hors service de Visual Studio pour Mac. Visual Studio pour Mac ne sera plus pris en charge à compter du 31 août 2024. Il existe des alternatives :
- Visual Studio Code avec le Kit de développement C# et les extensions associées, telles que .NET MAUI et Unity.
- Visual Studio s’exécutant sur Windows dans une machine virtuelle sur Mac.
- Visual Studio s’exécutant sur Windows dans une machine virtuelle dans le cloud.
Pour plus d’informations, consultez l’annonce de mise hors service de Visual Studio pour Mac.
Ce tutoriel présente les outils de débogage disponibles dans Visual Studio pour Mac.
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 pour Mac.
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 pour Mac utilise la configuration de build Debug. Vous n’avez donc pas besoin de la modifier avant le débogage.
Démarrez Visual Studio pour Mac.
Ouvrez le projet que vous avez créé dans Créer une application console .NET à l’aide de Visual Studio pour Mac.
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 :
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é.
Définissez un point d’arrêt sur la ligne qui affiche le nom, la date et l’heure. Pour ce faire, placez le curseur dans la ligne de code et appuyez sur ⌘\ (commande+\). Vous pouvez également définir un point d’arrêt en sélectionnant Debug>Basculer le point d’arrêt dans le menu.
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.
Appuyez sur ⌘↵ (commande+entrée) pour démarrer le programme en mode de débogage. Pour démarrer le débogage, vous pouvez également choisir Déboguer>Démarrer le débogage à partir du menu.
Entrez une chaîne dans la fenêtre de terminal lorsque le programme vous invite à entrer un nom, puis appuyez sur Entrée.
L’exécution du programme s’arrête lorsqu’il atteint le point d’arrêt, avant l’exécution de la méthode
Console.WriteLine
.
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.
Si la fenêtre Exécution n’est pas visible, affichez-la en choisissant Débogage>Fenêtres Windows>Exécution.
Entrez
name = "Gracie"
dans la fenêtre Exécution et appuyez sur Entrée.Entrez
currentDate = currentDate.AddDays(1)
dans la fenêtre Exécution et appuyez sur Entrée.La fenêtre Exécution affiche la nouvelle valeur de la variable de chaîne et les propriétés de la valeur DateTime.
La fenêtre Variables locales affiche les valeurs des variables définies dans la méthode en cours d’exécution. Les valeurs des variables que vous venez de modifier sont mises à jour dans la fenêtre Variables locales.
Appuyez sur ⌘↵ (commande+entrée) pour continuer le débogage.
Les valeurs affichées dans le terminal correspondent aux modifications que vous avez apportées dans la fenêtre Exécution.
Si le terminal n’est pas visible, sélectionnez Terminal - HelloWorld dans la barre de navigation inférieure.
Appuyez sur n’importe quelle touche pour quitter le programme.
Fermez la fenêtre de terminal.
Définir un point d'arrêt conditionnel
Le programme affiche une 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.
Appuyez sur ctrl et cliquez sur le point rouge qui représente le point d’arrêt. Dans le menu contextuel, sélectionnez Modifier le point d’arrêt.
Dans la boîte de dialogue Modifier le point d’arrêt, entrez le code suivant dans le champ qui suit Et la condition suivante est vraie, puis sélectionnez Appliquer.
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.
Appuyez sur ⌘↵ (commande+entrée) pour démarrer le débogage.
Dans la fenêtre de terminal, appuyez sur Entrée lorsque vous êtes invité à entrer votre nom.
Comme 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.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 variablename
est""
, à savoir String.Empty.Vous pouvez également voir que la valeur est une chaîne vide en entrant le nom de la variable
name
dans la fenêtre Exécution et en appuyant sur Entrée.Appuyez sur ⌘↵ (commande+entrée) pour continuer le débogage.
Dans la fenêtre de terminal, appuyez sur n’importe quelle touche pour quitter le programme.
Fermez la fenêtre de terminal.
Effacez le point d’arrêt en cliquant sur le point rouge dans la marge gauche de la fenêtre de code. Pour effacer un point d’arrêt, vous pouvez également choisir Déboguer > Basculer le point d’arrêt lorsque 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. Ce programme étant petit, vous pouvons exécuter pas à pas la totalité du programme.
Définissez un point d’arrêt sur l’accolade qui marque le début de la méthode
Main
(appuyez sur commande+\).Appuyez sur ⌘↵ (commande+entrée) pour démarrer le débogage.
Visual Studio s’arrête sur la ligne avec le point d’arrêt.
Appuyez sur ⇧⌘I (maj+commande+I) ou sélectionnez Déboguer>Pas à pas détaillé pour avancer d’une ligne.
Visual Studio met en surbrillance et affiche une flèche en regard de la ligne suivante de l’exécution.
À ce stade, la fenêtre Variables locales indique que le tableau
args
est vide et quename
etcurrentDate
ont des valeurs par défaut. En outre, Visual Studio a ouvert une fenêtre de terminal vide.Appuyez sur ⇧⌘I (maj+commande+I).
Visual Studio met en surbrillance l’instruction qui inclut l’attribution de la variable
name
. La fenêtre Variables locales montre quename
estnull
, et la fenêtre de terminal 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.
Appuyez sur ⇧⌘I (maj+commande+I).
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. Le terminal affiche la chaîne que vous avez entrée à l’invite.Appuyez sur ⇧⌘I (maj+commande+I).
La fenêtre Variables locales affiche la valeur de la variable
currentDate
après l’attribution de la propriété DateTime.Now. Le terminal n’est pas modifié.Appuyez sur ⇧⌘I (maj+commande+I).
Visual Studio appelle la méthode Console.WriteLine(String, Object, Object). Le terminal affiche la chaîne mise en forme.
Appuyez sur ⇧⌘U (maj+commande+U) ou sélectionnez Exécuter>Pas à pas sortant.
Le terminal affiche un message et attend que vous appuyiez sur une touche.
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 du compilateur qui peuvent 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 l’application console, procédez comme suit :
Modifiez la configuration de build dans la barre d’outils de Debug à Release.
Appuyez sur ⌥⌘↵ (option+commande+entrée) pour une exécution sans débogage.
É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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour