Lire en anglais

Partager via


Introduction aux points d’arrêt dans le débogueur Visual Studio

Les points d’arrêt sont l’une des techniques de débogage les plus importantes de la boîte à outils du développeur. Vous définissez des points d’arrêt où que vous souhaitiez suspendre l’exécution du débogueur. Par exemple, vous pouvez vouloir voir l’état des variables de code ou examiner la pile d'appels à un certain point d’arrêt.

Définir des points d’arrêt dans le code source

Vous pouvez définir un point d’arrêt sur n’importe quelle ligne de code exécutable. Par exemple, examinez ce code C# simple qui crée une boucle simple.

C#
int testInt = 3;

for (int i = 0; i < 10; i++)
{
    testInt += i;
}

Vous pouvez définir un point d’arrêt sur la ligne de code avec l’affectation de variable (int testInt = 3), la boucle for ou tout code à l’intérieur de la boucle for. Vous ne pouvez pas définir de point d’arrêt sur les signatures de méthode, les déclarations d’un espace de noms ou d’une classe, ou les déclarations de variable s’il n’y a pas d’affectation et aucun getter/setter.

Pour définir un point d’arrêt dans le code source :

  • Cliquez dans la marge située à gauche en regard d’une ligne de code. Vous pouvez également sélectionner la ligne et appuyer sur F9, sélectionner Déboguer>Activer/désactiver le point d’arrêt, ou faire un clic droit et sélectionner Point d’arrêt>Insérer un point d’arrêt. Le point d’arrêt apparaît sous la forme d’un point rouge dans la marge gauche.

Pour la plupart des langages (y compris C#), Visual Studio met automatiquement en surbrillance le point d’arrêt et les lignes d’exécution actuelles. Pour certains langages, tels que C++, qui n’est pas mis en surbrillance par défaut, vous pouvez activer la mise en surbrillance du point d’arrêt et des lignes actuelles en sélectionnant Outils (ou Déboguer) >Options>Débogage>Mettre en surbrillance toute la ligne source pour les points d’arrêt et l’instruction actuelle (C++ uniquement).

Définir un point d’arrêt

Définir un point d’arrêt

Pour déboguer, appuyez sur F5 ou sélectionnez Déboguer>Démarrer le débogage.

Lorsque vous déboguez, l’exécution s’interrompt au point d’arrêt, avant l’exécution du code sur cette ligne. Le symbole de point d’arrêt affiche une flèche jaune.

Au point d’arrêt de l’exemple suivant, la valeur de testInt est toujours 3. Par conséquent, la valeur n’a pas changé depuis l’initialisation de la variable (définie sur la valeur 3), car l’instruction en jaune n’a pas encore été exécutée.

L'exécution du point d'arrêt s'est arrêtée

Au point d’arrêt de l’exemple suivant, la valeur de testInt est toujours 1. Par conséquent, la valeur n’a pas changé depuis l’initialisation de la variable (définie sur la valeur 1), car l’instruction en jaune n’a pas encore été exécutée.

L'exécution du point d'arrêt s'est arrêtée

Quand le débogueur s’arrête sur le point d’arrêt, vous pouvez examiner l’état actuel de l’application, y compris les valeurs de variable et la pile des appels.

Par exemple, dans l’illustration suivante, vous pouvez voir la valeur de testInt dans une infobulle de données et dans la fenêtre des Variables locales.

Capture d’écran de l’affichage de l’état de l’application

Voici quelques instructions générales sur l’utilisation des points d’arrêt.

  • Le point d’arrêt est un bouton bascule. Vous pouvez cliquer dessus, appuyer sur F9 ou utiliser Déboguer>Activer/désactiver le point d’arrêt pour le supprimer ou le réinsérer.

  • Pour désactiver un point d’arrêt sans le supprimer, pointez dessus ou cliquez dessus avec le bouton droit, puis sélectionnez Désactiver le point d’arrêt. Les points d’arrêt désactivés s’affichent sous la forme de points vides dans la marge de gauche ou la fenêtre Points d’arrêt. Pour réactiver un point d’arrêt, pointez ou cliquez dessus avec le bouton droit, puis sélectionnez Activer le point d’arrêt.

  • Définissez des conditions et des actions, ajoutez et modifiez des étiquettes ou exportez un point d’arrêt en cliquant dessus avec le bouton droit et en sélectionnant la commande appropriée, ou en pointant dessus et en sélectionnant l’icône paramètres de .

Types de points d’arrêt

Visual Studio prend en charge différents types de points d’arrêt pour prendre en charge différents scénarios de débogage, tels que les points d’arrêt conditionnels qui s’activent uniquement en fonction de critères spécifiés. Pour plus d’informations, consultez Utiliser le type approprié de point d’arrêt.

Gérer les points d’arrêt dans la fenêtre Points d’arrêt

Vous pouvez utiliser la fenêtre Points d’arrêt pour voir et gérer tous les points d’arrêt dans votre solution. Cet emplacement centralisé est particulièrement utile dans une solution volumineuse ou pour les scénarios de débogage complexes où les points d’arrêt sont essentiels.

Dans la fenêtre Points d’arrêt, vous pouvez rechercher, trier, filtrer, activer/désactiver ou supprimer des points d’arrêt. Vous pouvez également définir des conditions et des actions, ou ajouter une nouvelle fonction ou un point d’arrêt de données.

Pour ouvrir la fenêtre Points d’arrêt, sélectionnez Déboguer>Fenêtres>Points d’arrêt, ou appuyez sur Ctrl+Alt+B.

la fenêtre des points d’arrêt Points d'arrêt (fenêtre)

fenêtre points d’arrêt Points d'arrêt (fenêtre)

Pour sélectionner les colonnes à afficher dans la fenêtre Points d’arrêt, sélectionnez Afficher les colonnes. Sélectionnez l’en-tête d’une colonne pour trier les points d’arrêt en fonction de cette colonne.

Étiquettes de point d’arrêt

Vous pouvez utiliser des étiquettes pour trier et filtrer la liste des points d’arrêt dans la fenêtre Breakpoints.

  1. Pour ajouter une étiquette à un point d’arrêt, cliquez avec le bouton droit sur le point d’arrêt dans le code source ou dans la fenêtre points d’arrêt, puis sélectionnez Modifier les étiquettes. Ajoutez une nouvelle étiquette ou choisissez une étiquette existante, puis sélectionnez OK.
  2. Triez la liste des points d’arrêt dans la fenêtre Points d’arrêt en sélectionnant les en-têtes Étiquettes, Conditions ou d’autres en-têtes de colonne. Vous pouvez sélectionner les colonnes à afficher en sélectionnant Afficher les colonnes dans la barre d’outils.

Groupes de points d’arrêt

Pour les scénarios de débogage complexes, vous pouvez créer des groupes de points d’arrêt pour organiser vos points d’arrêt. Cela vous permet d’activer et de désactiver rapidement les regroupements logiques de points d’arrêt, en fonction du scénario actuel que vous essayez de déboguer.

Vous pouvez créer des points d’arrêt dans la fenêtre Breakpoints en sélectionnant New > Breakpoint Groupet en fournissant un nom pour le groupe. Pour ajouter un point d’arrêt à un groupe, cliquez avec le bouton droit sur le point d’arrêt et choisissez Ajouter au groupe d’arrêt><nom du groupe>. Vous pouvez également faire glisser-déplacer vos points d’arrêt dans le groupe souhaité.

Capture d’écran des groupes de points d’arrêt.

Pour définir un groupe de points d’arrêt par défaut, cliquez avec le bouton droit sur un groupe, puis sélectionnez Définir comme groupe de points d’arrêt par défaut. Lorsque vous définissez un groupe de points d’arrêt par défaut, les points d’arrêt nouvellement créés sont automatiquement ajoutés au groupe.

Exporter et importer les points d'arrêt

Pour enregistrer ou partager l’état et l’emplacement de vos points d’arrêt, vous pouvez les exporter ou les importer.

À compter de la version 17.12 de Visual Studio 2022 Préversion 3, les groupes de points d’arrêt sont également inclus avec les points d’arrêt exportés et importés.

  • Pour exporter un point d’arrêt unique vers un fichier XML, cliquez avec le bouton droit sur le point d’arrêt dans le code source ou la fenêtre Points d'arrêt, puis sélectionnez Exporter ou Exporter sélectionné. Sélectionnez un emplacement d’exportation, puis sélectionnez Enregistrer. L’emplacement par défaut est le dossier solution.
  • Pour exporter plusieurs points d’arrêt, dans la fenêtre Points d’arrêt, sélectionnez les cases à cocher à côté des points d’arrêt ou entrez les critères de recherche dans le champ de recherche . Sélectionnez l’icône Exporter tous les points d’arrêt correspondant aux critères de recherche actuels, puis enregistrez le fichier.
  • Pour exporter tous les points d’arrêt, décochez toutes les cases et laissez le champ Rechercher vide. Sélectionnez l’icône Exporter tous les points d’arrêt correspondant aux critères de recherche actuels, puis enregistrez le fichier.
  • Pour importer des points d’arrêt, dans la fenêtre Points d’arrêt, sélectionnez l’icône Importer des points d’arrêt à partir d’un fichier, accédez à l’emplacement du fichier XML, puis sélectionnez Ouvrir.

Définir des points d’arrêt à partir des fenêtres du débogueur

Vous pouvez également définir des points d’arrêt à partir des fenêtres de débogueur Pile des appels et Désassemblage.

Définir un point d’arrêt dans la fenêtre Pile des appels

Pour arrêter l’exécution sur l’instruction ou la ligne à laquelle une fonction appelante renvoie, vous pouvez définir un point d’arrêt dans la fenêtre Pile des appels.

Pour définir un point d’arrêt dans la fenêtre Pile des appels :

  1. Pour ouvrir la fenêtre Pile des appels, vous devez être en pause pendant le débogage. Sélectionnez Déboguer>Fenêtres>Pile des appels, ou appuyez sur Ctrl+Alt+C.

  2. Dans la fenêtre Pile des appels, faites un clic droit sur la fonction appelante et sélectionnez Point d’arrêt>Insérer un point d’arrêt, ou appuyez sur F9.

    Un symbole de point d’arrêt apparaît en regard du nom de l’appel de fonction dans la marge gauche de la pile des appels.

Le point d'arrêt de la pile des appels apparaît dans la fenêtre des points d'arrêt en tant qu'adresse, avec un emplacement de mémoire qui correspond à l'instruction exécutable suivante dans la fonction.

Le débogueur s’arrête sur l’instruction.

Pour plus d’informations sur la pile des appels, consultez Procédure : utiliser la fenêtre Pile des appels.

Pour suivre visuellement les points d’arrêt pendant l’exécution du code, consultez Mapper des méthodes sur la pile des appels pendant le débogage.

Définir un point d’arrêt dans la fenêtre Désassembler

  1. Pour ouvrir la fenêtre Désassemblage, vous devez être en pause pendant le débogage. Sélectionnez Déboguer>Fenêtres>Désassemblage, ou appuyez sur Ctrl+Alt+D.

  2. Dans la fenêtre Désassemblage, cliquez dans la marge gauche de l’instruction sur laquelle vous souhaitez vous arrêter. Vous pouvez également le sélectionner et appuyer sur F9, ou cliquer avec le bouton droit, puis sélectionner point d’arrêt>Insérer un point d’arrêt.