Utiliser des points d’arrêt dans le débogueur Visual Studio

S’applique à :ouiVisual Studio nonVisual Studio pour Mac nonVisual Studio Code

Les points d’arrêt sont l’une des techniques de débogage les plus importantes dans la boîte à outils de votre 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 voir l’état des variables de code ou examiner la pile des appels à un certain point d’arrêt. Si vous essayez de résoudre un avertissement ou un problème lors de l’utilisation de points d’arrêt, consultez Résoudre les problèmes liés aux points d’arrêt dans le débogueur Visual Studio.

Notes

Si vous connaissez la tâche ou le problème que vous essayez de résoudre, mais que vous devez savoir quel type de point d’arrêt utiliser, consultez FAQ - Rechercher votre fonctionnalité de débogage.

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, dans le code C# suivant, vous pouvez définir un point d’arrêt sur la ligne de code avec l’affectation de variable (int testInt = 1), la for boucle ou tout code à l’intérieur de la for boucle. Vous ne pouvez pas définir un point d’arrêt sur les signatures de méthode, les déclarations pour un espace de noms ou une classe ou des déclarations de variable s’il n’y a aucune 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 Basculer lepointd’arrêt>, ou cliquer avec le bouton droit et sélectionnerPoint 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, notamment C#, les points d’arrêt et les lignes d’exécution actuelles sont automatiquement mis en surbrillance. Pour le code C++, 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 surbrillance>de 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

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 la testInt valeur est toujours 3. Par conséquent, la valeur n’a pas changé depuis que la variable a été initialisée (définie sur une valeur de 3) car l’instruction en jaune n’a pas encore été exécutée.

Exécution de point d’arrêt arrêté l’exécution du

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

Exécution de point d’arrêt arrêté l’exécution du

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

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 le point d’arrêt> bascule pour supprimer ou réinsérer lepoint d’arrêt.

  • Pour désactiver un point d’arrêt sans le supprimer, pointez dessus ou cliquez avec le bouton droit sur celui-ci, puis sélectionnez Désactiver le point d’arrêt. Les points d’arrêt désactivés apparaissent sous forme de points vides dans la marge gauche ou dans la fenêtre Points d’arrêt . Pour réactiver un point d’arrêt, pointez sur ou cliquez avec le bouton droit sur celui-ci, 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 .

Actions de point d’arrêt et points de trace

Un point de trace est un point d’arrêt qui imprime un message dans la fenêtre Sortie . Un point de trace peut agir comme une instruction de trace temporaire dans le langage de programmation et ne met pas en pause l’exécution du code. Vous créez un point de trace en définissant une action spéciale dans la fenêtre Paramètres du point d’arrêt . Pour obtenir des instructions détaillées, consultez Utiliser des points de trace dans le débogueur Visual Studio.

Conditions de point d’arrêt

Vous pouvez contrôler quand et où un point d’arrêt s’exécute en définissant des conditions. La condition peut être n’importe quelle expression valide que le débogueur reconnaît. Pour plus d’informations sur les expressions valides, consultez Expressions dans le débogueur.

Pour définir une condition de point d’arrêt :

  1. Cliquez avec le bouton droit sur le symbole de point d’arrêt et sélectionnez Conditions (ou appuyez sur Alt + F9, C). Ou pointez sur le symbole de point d’arrêt, sélectionnez l’icône Paramètres , puis sélectionnez Conditions dans la fenêtre Paramètres du point d’arrêt .

    Vous pouvez également cliquer avec le bouton droit dans la marge de gauche en regard d’une ligne de code et sélectionner Insérer un point d’arrêt conditionnel dans le menu contextuel pour définir un nouveau point d’arrêt conditionnel.

    Vous pouvez également définir des conditions dans la fenêtre Points d’arrêt en cliquant avec le bouton droit sur un point d’arrêt et en sélectionnant Paramètres, puis en sélectionnant Conditions

    Paramètres de point d’arrêt

    Paramètres de point d’arrêt

  2. Dans la liste déroulante, sélectionnez Expression conditionnelle, Nombre d’accès ou Filtre, puis définissez la valeur en conséquence.

  3. Sélectionnez Fermer ou appuyez sur Ctrl+Entrée pour fermer la fenêtre Paramètres du point d’arrêt . Ou, dans la fenêtre Points d’arrêt , sélectionnez OK pour fermer la boîte de dialogue.

Les points d’arrêt avec des conditions définies s’affichent avec un + symbole dans le code source et les fenêtres Points d’arrêt .

Créer une expression conditionnelle

Lorsque vous sélectionnez l’expression conditionnelle, vous pouvez choisir entre deux conditions : est true ou Lorsque vous avez changé. Choisissez La valeur Est true lorsque l’expression est satisfaite ou quand elle est modifiée pour interrompre lorsque la valeur de l’expression a changé.

Dans l’exemple suivant, le point d’arrêt est atteint uniquement lorsque la valeur de testInt4 :

La condition de point d’arrêt est true

La condition de point d’arrêt est true

Dans l’exemple suivant, le point d’arrêt est atteint uniquement lorsque la valeur des testInt modifications :

Point d’arrêt lorsque le point d’arrêt a été modifié

Point d’arrêt lorsque le point d’arrêt a été modifié

Si vous définissez une condition de point d’arrêt dont la syntaxe est incorrecte, un message d’avertissement s’affiche. Si vous spécifiez une condition de point d’arrêt avec une syntaxe valide, mais dont la sémantique n’est pas valide, un message d’avertissement apparaît quand le point d’arrêt est atteint pour la première fois. Dans les deux cas, le débogueur s’interrompt lorsqu’il atteint le point d’arrêt non valide. Le point d’arrêt n’est ignoré que si la condition est valide et prend la valeur false.

Notes

Pour le champ Lors de la modification , le débogueur ne considère pas la première évaluation de la condition comme une modification. Il n’atteint donc pas le point d’arrêt de la première évaluation.

Utiliser des ID d’objet dans des expressions conditionnelles (C# et F# uniquement)

Il existe des moments où vous souhaitez observer le comportement d’un objet spécifique. Par exemple, vous souhaiterez peut-être savoir pourquoi un objet a été inséré dans une collection plusieurs fois. En C# et en F#, vous pouvez créer des ID d’objet pour des instances spécifiques de types référence et les utiliser dans des conditions de point d’arrêt. L’ID d’objet est généré par les services de débogage du Common Language Runtime (CLR) et associé à l’objet.

Pour créer un ID d’objet :

  1. Définissez un point d’arrêt dans le code une fois l’objet créé.

  2. Démarrez le débogage et, lorsque l’exécution s’interrompt au point d’arrêt, sélectionnez Déboguer>les locauxWindows> (ou appuyez sur Ctrl + Alt + V, L) pour ouvrir la fenêtre Locals.

    Recherchez l’instance d’objet spécifique dans la fenêtre Locals , cliquez dessus avec le bouton droit, puis sélectionnez Créer un ID d’objet.

    Le symbole $ et un nombre s’affichent alors dans la fenêtre Variables locales . Il s’agit de l’ID d’objet.

  3. Ajoutez un nouveau point d’arrêt au moment où vous souhaitez examiner ; par exemple, lorsque l’objet doit être ajouté à la collection. Cliquez avec le bouton droit sur le point d’arrêt et sélectionnez Conditions.

  4. Utilisez l’ID d’objet dans le champ Expression conditionnelle . Par exemple, si la variable item est l’objet à ajouter à la collection, sélectionnez Is true et type item == $<n>, où <n> est le numéro d’ID d’objet.

    L’exécution s’arrête au point où cet objet doit être ajouté à la collection.

    Pour supprimer l’ID d’objet, cliquez avec le bouton droit sur la variable dans la fenêtre Locals , puis sélectionnez Supprimer l’ID d’objet.

Notes

Les ID d’objet créent des références faibles et n’empêchent pas l’objet de subir une récupération de mémoire. Leur validité ne vaut que pour la session de débogage active.

Définir une condition de nombre d’accès

Si vous pensez qu’une boucle dans votre code commence à se comporter mal après un certain nombre d’itérations, vous pouvez définir un point d’arrêt pour arrêter l’exécution après ce nombre d’accès, plutôt que de devoir appuyer à plusieurs reprises sur F5 pour atteindre cette itération.

Sous Conditions dans la fenêtre Paramètres du point d’arrêt , sélectionnez Nombre d’accès, puis spécifiez le nombre d’itérations. Dans l’exemple suivant, le point d’arrêt est défini sur chaque autre itération :

Nombre d’accès au point d’arrêt

Nombre d’accès au point d’arrêt

Définir une condition de filtre

Vous pouvez limiter le déclenchement d’un point d’arrêt seulement sur des appareils spécifiés ou dans des processus et des threads spécifiés.

Sous Conditions dans la fenêtre Paramètres du point d’arrêt , sélectionnez Filtrer, puis entrez une ou plusieurs des expressions suivantes :

  • MachineName = "nom"
  • ProcessId = valeur
  • ProcessName = "nom"
  • ThreadId = valeur
  • ThreadName = "nom"

Placez les valeurs de chaîne entre guillemets doubles. Vous pouvez combiner des clauses à l’aide de & (AND), || (OR), ! (NOT) et de parenthèses.

Définir des points d’arrêt de fonction

Vous pouvez interrompre l’exécution lorsqu’une fonction est appelée. Cela est utile, par exemple, lorsque vous connaissez le nom de la fonction, mais pas son emplacement. Il est également utile si vous avez des fonctions portant le même nom et que vous souhaitez les interrompre toutes (telles que les fonctions surchargées ou les fonctions dans différents projets).

Pour définir un point d’arrêt de fonction :

  1. Sélectionnez Déboguerun nouveau point>d’arrêt> de fonction, ou appuyez sur Ctrl + K, B.

    Vous pouvez également sélectionner nouveau>point d’arrêt de fonction dans la fenêtre Points d’arrêt .

  2. Dans la boîte de dialogue Nouveau point d’arrêt de fonction , entrez le nom de la fonction dans la zone Nom de la fonction.

    Pour affiner la spécification de la fonction :

    • Utilisez le nom complet de la fonction.

      Exemple : Namespace1.ClassX.MethodA()

    • Ajoutez les types de paramètres d’une fonction surchargée.

      Exemple : MethodA(int, string)

    • Utilisez le symbole « ! » pour spécifier le module.

      Exemple : App1.dll!MethodA

    • Utilisez l’opérateur de contexte en C++natif.

      {function, , [module]} [+<line offset from start of method>]

      Exemple : {MethodA, , App1.dll}+2

  3. Dans la liste déroulante Langue , choisissez la langue de la fonction.

  4. Sélectionnez OK.

Définir un point d’arrêt de fonction à l’aide d’une adresse mémoire (C++ native uniquement)

Vous pouvez utiliser l’adresse d’un objet pour définir un point d’arrêt de fonction sur une méthode appelée par une instance spécifique d’une classe. Par exemple, en fonction d’un objet adressable de type my_class, vous pouvez définir un point d’arrêt de fonction sur la my_method méthode que cette instance appelle.

  1. Définissez un point d’arrêt quelque part après l’instanciation de l’instance de la classe.

  2. Recherchez l’adresse de l’instance (par exemple). 0xcccccccc

  3. Sélectionnez Déboguerun nouveau point>d’arrêt> de fonction, ou appuyez sur Ctrl + K, B.

  4. Ajoutez ce qui suit à la zone Nom de la fonction , puis sélectionnez le langage C++ .

    ((my_class *) 0xcccccccc)->my_method
    

Définir des points d’arrêt de données (.NET Core 3.x ou .NET 5+)

Les points d’arrêt de données arrêtent l’exécution lorsque la propriété d’un objet spécifique change.

Pour définir un point d’arrêt de données

  1. Dans un projet .NET Core, démarrez le débogage et attendez qu’un point d’arrêt soit atteint.

  2. Dans la fenêtre Autos, Watch ou Locals , cliquez avec le bouton droit sur une propriété et sélectionnez Break lorsque la valeur change dans le menu contextuel.

    d’arrêt dePoint

Les points d’arrêt de données dans .NET Core ne fonctionnent pas pour :

  • Propriétés qui ne sont pas extensibles dans la fenêtre Info-bulle, Locals, Autos ou Watch
  • Variables statiques
  • Classes avec l’attribut DebuggerTypeProxy
  • Champs à l’intérieur des structs

Définir des points d’arrêt de données (C++ natif uniquement)

Les points d’arrêt de données arrêtent l’exécution lorsqu’une valeur stockée à une adresse de mémoire spécifiée change. Si la valeur est lue mais pas modifiée, l’exécution ne s’interrompt pas.

Pour définir un point d’arrêt de données :

  1. Dans un projet C++, démarrez le débogage et attendez qu’un point d’arrêt soit atteint. Dans le menu Déboguer, choisissez Nouveau point d’arrêtdes données de point > d’arrêt.

    Vous pouvez également sélectionner nouveau>point d’arrêt de donnéesdans la fenêtre Points d’arrêt ou cliquer avec le bouton droit sur un élément dans la fenêtre Autos, Watch ou Locals , puis sélectionner Break lorsque la valeur change dans le menu contextuel.

  2. Dans la zone Adresse , tapez une adresse de mémoire ou une expression qui est évaluée à une adresse de mémoire. Par exemple, tapez &avar pour interrompre l’exécution quand le contenu de la variable avar change.

  3. Dans la zone déroulante Nombre d’octets , sélectionnez le nombre d’octets que le débogueur doit surveiller. Par exemple, si vous sélectionnez 4, le débogueur surveille les quatre octets à partir de &avar et interrompt l’exécution si l’un de ces octets change de valeur.

Les points d’arrêt de données ne fonctionnent pas dans les conditions suivantes :

  • Un processus qui n’est pas en cours de débogage écrit à l’emplacement mémoire.
  • L’emplacement mémoire est partagé entre plusieurs processus.
  • L’emplacement de mémoire est mis à jour dans le noyau. Par exemple, si la mémoire est passée à la fonction Windows ReadFile 32 bits, la mémoire est mise à jour à partir du mode noyau, de sorte que le débogueur ne s’interrompt pas sur la mise à jour.
  • Où l’expression watch est supérieure à 4 octets sur le matériel 32 bits et 8 octets sur le matériel 64 bits. Il s’agit d’une limitation de l’architecture x86.

Notes

  • Les points d’arrêt de données dépendent d’adresses mémoire spécifiques. L’adresse d’une variable passe d’une session de débogage à la suivante, de sorte que les points d’arrêt de données sont automatiquement désactivés à la fin de chaque session de débogage.

  • Si vous définissez un point d’arrêt sur une variable locale, ce point d’arrêt reste activé quand la fonction s’arrête. Cependant, l’adresse mémoire n’est plus applicable, et le comportement du point d’arrêt est donc imprévisible. Si vous définissez un point d’arrêt de données sur une variable locale, vous devez supprimer ou désactiver le point d’arrêt avant la fin de la fonction.

Définir un point d’arrêt dépendant

Les points d’arrêt dépendants arrêtent l’exécution uniquement si un autre point d’arrêt est atteint pour la première fois. Par conséquent, dans un scénario complexe tel que le débogage d’une application multithread, vous pouvez configurer les points d’arrêt supplémentaires après un autre point d’arrêt. Cela peut rendre le code de débogage dans des chemins courants tels que la boucle de jeu ou une API utilitaire beaucoup plus facile, car un point d’arrêt dans ces fonctions peut être configuré pour permettre uniquement si la fonction est appelée à partir d’une partie spécifique de votre application.

Pour définir un point d’arrêt dépendant :

  1. Pointez sur le symbole de point d’arrêt, choisissez l’icône Paramètres , puis sélectionnez Activer uniquement lorsque le point d’arrêt suivant est atteint dans la fenêtre Paramètres du point d’arrêt.

  2. Dans la liste déroulante, sélectionnez le point d’arrêt requis dont vous souhaitez que votre point d’arrêt actuel dépende.

Choisissez Fermer ou appuyez sur Ctrl+Entrée pour fermer la fenêtre Paramètres du point d’arrêt. Ou, dans la fenêtre Points d’arrêt, choisissez OK pour fermer la boîte de dialogue. Point d’arrêt dépendant Dépendant

Vous pouvez également utiliser le menu contextuel de clic droit pour définir le point d’arrêt dépendant.

  1. Cliquez avec le bouton droit dans la marge de gauche en regard d’une ligne de code et sélectionnez Insérer un point d’arrêt dépendant dans le menu contextuel.

Contexte Dépendantbreakpoint

  • Les points d’arrêt dépendants ne fonctionnent pas s’il n’existe qu’un seul point d’arrêt dans votre application.
  • Les points d’arrêt dépendants sont convertis en point d’arrêt de ligne normal si le point d’arrêt requis est supprimé.

Définir un point d’arrêt temporaire

Ce point d’arrêt vous permet d’interrompre le code une seule fois. Lors du débogage, le débogueur Visual Studio interrompt uniquement l’application en cours d’exécution une seule fois pour ce point d’arrêt, puis le supprime immédiatement une fois qu’il a été atteint.

Pour définir un point d’arrêt temporaire :

  1. Pointez sur le symbole de point d’arrêt, choisissez l’icône Paramètres , puis sélectionnez Supprimer le point d’arrêt une fois atteint dans la fenêtre Paramètres du point d’arrêt.
  2. Choisissez Fermer ou appuyez sur Ctrl+Entrée pour fermer la fenêtre Paramètres du point d’arrêt. Ou, dans la fenêtre Points d’arrêt, choisissez OK pour fermer la boîte de dialogue.

d’arrêt temporairePoint

Vous pouvez également utiliser le menu contextuel de clic droit pour définir le point d’arrêt temporaire.

  1. Cliquez avec le bouton droit dans la marge de gauche en regard d’une ligne de code et sélectionnez Insérer un point d’arrêt temporaire dans le menu contextuel.

Contexte de point d’arrêt temporaire

ou utilisez simplement le raccourci F9 + Maj + Alt, T et définissez le point d’arrêt temporaire sur la ligne souhaitée.

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

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>des points d’arrêtWindows> ou appuyez sur Ctrl+Alt+B.

Fenêtre Points d’arrêt de la fenêtre

Fenêtre Points d’arrêt de la fenêtre

Pour sélectionner les colonnes à afficher dans la fenêtre Points d’arrêt , sélectionnez Afficher les colonnes. Sélectionnez un en-tête de colonne pour trier la liste des points d’arrêt par 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 Points d’arrêt .

  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 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 étiquettes, les 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.

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.

  • Pour exporter un point d’arrêt unique vers un fichier XML, cliquez avec le bouton droit sur le point d’arrêt dans la fenêtre Code source ou 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 de solution.
  • Pour exporter plusieurs points d’arrêt, dans la fenêtre Points d’arrêt, sélectionnez les zones en regard des points d’arrêt ou entrez les critères de recherche dans le champ De recherche . Sélectionnez les points d’arrêt Exporter tous les points d’arrêt correspondant à l’icône des critères de recherche actuels , puis enregistrez le fichier.
  • Pour exporter tous les points d’arrêt, désélectionnez toutes les zones et laissez le champ de recherche vide. Sélectionnez les points d’arrêt Exporter tous les points d’arrêt correspondant à l’icône des 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 les points d’arrêt d’importation à partir d’une icône de 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 du débogueur Pile des appels et Désassembleur .

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

Pour arrêter l’instruction ou la ligne vers laquelle une fonction appelante revient, 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 suspendu pendant le débogage. Sélectionnez Déboguer> lapile des appelsWindows>, ou appuyez sur Ctrl+Alt+C.

  2. Dans la fenêtre Pile des appels, cliquez avec le bouton droit sur la fonction appelante, puis sélectionnezPoint 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 s’affiche dans la fenêtre Points d’arrêt sous forme d’adresse, avec un emplacement de mémoire qui correspond à l’instruction exécutable suivante dans la fonction.

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

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

Pour tracer visuellement les points d’arrêt pendant l’exécution du code, consultez Les méthodes mappées sur la pile des appels lors du débogage.

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

  1. Pour ouvrir la fenêtre Désassembleur , vous devez être suspendu pendant le débogage. Sélectionnez Désassembler>Windows> ou appuyez sur Ctrl+Alt+D.

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

Voir aussi