Utiliser des points d’arrêt dans le débogueur Visual StudioUse Breakpoints in the Visual Studio Debugger

Vous pouvez définir des points d’arrêt quand vous voulez interrompre l’exécution du débogueur, éventuellement pour voir l’état des variables de code ou examiner la pile des appels.You can set breakpoints when you want to stop debugger execution, perhaps to see the state of code variables or to look at the call stack. Ils constituent l’une des techniques de débogage les plus importantes de la boîte à outils d’un développeur.They are one of the most important debugging techniques in a developer's toolbox.

Définition d’un point d’arrêt de ligne dans le code sourceSetting a line breakpoint in source code

Vous définissez un point d’arrêt de ligne dans le code source en cliquant dans la marge gauche d’un fichier de code source, ou en plaçant votre curseur sur une ligne de code et en appuyant sur F9.You set a line breakpoint in source code by clicking in the left margin of a source code file, or by putting your cursor on a line of code and pressing F9. Le point d’arrêt apparaît sous forme de point rouge dans la marge de gauche, et la ligne de code est aussi en couleur :The breakpoint appears as a red dot in the left margin, and the line of code is colored as well:

Définir un point d’arrêtSet a breakpoint

Quand vous exécutez ce code dans le débogueur, l’exécution s’interrompt chaque fois que le point d’arrêt est atteint, avant que le code de cette ligne soit exécuté.When you run this code in the debugger, execution stops whenever the breakpoint is hit, before the code on that line is executed. La ligne de code source est de couleur jaune :The line of source code is colored yellow:

L’exécution du point d’arrêt s’est arrêtéeBreakpoint execution stopped

À ce stade, la valeur de testInt est toujours égale à 1.At this point the value of testInt is still 1.

Vous pouvez examiner l’état actuel de l’application, y compris les valeurs de variables et la pile des appels.You can look at the current state of the application, including variable values and the call stack. Pour plus d’informations sur la pile des appels, consultez How to: Use the Call Stack Window.For more information about the call stack, see How to: Use the Call Stack Window.

Vous pouvez définir un point d’arrêt sur n’importe quelle ligne de code exécutable.You can set a breakpoint on any line of executable code. Par exemple, dans le code C# ci-dessus, vous pouvez définir un point d’arrêt sur la déclaration des variables, la boucle for ou tout code à l’intérieur de la boucle for , mais vous ne pouvez pas définir un point d’arrêt sur les déclarations d’espace de noms ou de classe ou la signature de la méthode.For example, in the C# code above you can set a breakpoint on the variable declaration, the for loop, or any code inside the for loop, but you cannot set a breakpoint on the namespace or class declarations or the method signature.

Définir un point d’arrêt (fonction)Setting a function breakpoint

Vous pouvez arrêter l’exécution lorsqu’une fonction est appelée.You can break execution when a function is called.

  1. Ouvrez le points d’arrêt fenêtre et choisissez Nouveau > point d’arrêt de la fonction.Open the Breakpoints window and choose New > Function Breakpoint.

  2. Entrez un nom de fonction dans le nom de la fonction boîte.Enter a function name in the Function Name box.

    Pour affiner la spécification de fonction :To narrow the function specification:

    Utilisez le nom de fonction qualifié complet.Use the fully qualified function name. Exemple : Namespace1.ClassX.MethodA()Example: Namespace1.ClassX.MethodA()

    Ajouter les types de paramètre d’une fonction surchargée.Add the parameter types of an overloaded function. Exemple : MethodA (int, string)Example: MethodA(int, string)

    Utilisez le ' !' symbole pour spécifier le module.Use the '!' symbol to specify the module. Exemple : App1.dll ! MethodAExample: App1.dll!MethodA

    Utilisez l’opérateur de contexte en C++ natif.Use the context operator in native C++. {fonction, [module]} [+<offset de ligne du début de la méthode>] exemple : {MethodA, App1.dll}+2{function, , [module]} [+<line offset from start of method>] Example: {MethodA, , App1.dll}+2

  3. Dans le langage liste déroulante, choisissez la langue de la fonction que vous souhaitez arrêter.In the Language dropdown, choose the specific language of the function you want to break on.

Définition d’autres types de points d’arrêtSetting Other Kinds of Breakpoints

Vous pouvez aussi définir des points d’arrêt dans la pile des appels, dans la fenêtre Code machine et, dans le code C++ natif, au niveau d’une condition de données ou d’une adresse mémoire.You can also set breakpoints in the call stack, in the Disassembly window, and, in native C++ code, at a data condition or a memory address.

Définition d’un point d’arrêt dans la fenêtre Pile des appelsSetting a Breakpoint in the Call Stack Window

Vous pouvez arrêter l’exécution au niveau de l’instruction ou de la ligne à laquelle une fonction appelante retourne une valeur en définissant un point d’arrêt dans la fenêtre Pile des appels .You can break execution at the instruction or line that a calling function returns to by setting a breakpoint in the Call Stack window. Pour plus d’informations sur la pile des appels, consultez How to: Use the Call Stack Window.For more information about the call stack, see How to: Use the Call Stack Window. Le débogueur doit avoir interrompu l’exécution.The debugger must have stopped executing.

  1. Commencez le débogage de l’application, puis attendez que l’exécution soit interrompue (par exemple, au niveau d’un point d’arrêt).Start debugging the application, and wait execution is stopped (for example, at a breakpoint). Ouvrez le pile des appels fenêtre (Déboguer > Windows > pile des appels, ou CTRL + ALT + C).Open the Call Stack window (Debug > Windows > Call Stack, or CTRL + ALT + C).

  2. Avec le bouton droit de la fonction d’appel, puis sélectionnez point d’arrêt > Insérer un point d’arrêt, ou utiliser simplement la touche de raccourci F9.Right-click the calling function and then select Breakpoint > Insert Breakpoint, or just use the shortcut key F9.

  3. Un symbole de point d’arrêt apparaît dans la marge de gauche de la pile des appels, en regard du nom de l’appel de fonction.A breakpoint symbol appears in the left margin of the call stack, next to the function call name.

    Dans la fenêtre Points d’arrêt , le point d’arrêt de pile des appels apparaît sous la forme d’une adresse avec un emplacement de mémoire correspondant à la prochaine instruction exécutable de la fonction.In the Breakpoints window, the call stack breakpoint appears as an address with a memory location that corresponds to the next executable instruction in the function. Le débogueur arrête l’exécution au niveau de l’instruction.The debugger breaks execution at the instruction.

    Visuellement trace points d’arrêt pendant l’exécution de code, consultez mapper les méthodes sur la pile des appels pendant le débogage.To visually trace breakpoints during code execution, see Map methods on the call stack while debugging.

Définition d’un point d’arrêt dans la fenêtre Code machineSetting a Breakpoint in the Disassembly Window

Pour définir un point d’arrêt au niveau d’une instruction assembly, le débogueur doit être en mode arrêt.To set a breakpoint at an assembly instruction, the debugger must be in break mode.

  1. Commencez le débogage de l’application, puis attendez que l’exécution soit interrompue (par exemple, au niveau d’un point d’arrêt).Start debugging the application, and wait execution is stopped (for example, at a breakpoint). Ouvrez le code machine fenêtre (Déboguer > Windows > code machine, ou Ctrl + Alt + D).Open the Disassembly window (Debug > Windows > Disassembly, or Ctrl + Alt + D).

  2. Cliquez dans la marge de gauche au niveau de l’instruction où vous voulez effectuer l’arrêt ou définissez votre curseur au niveau de l’instruction et appuyez sur F9.Click in the left margin at the instruction that you want to break at, or set your cursor at the instruction and press F9.

Définition d’un point d’arrêt sur variable (C++ natif uniquement)Setting a Data Breakpoint (native C++ only)

Les points d’arrêt sur variable interrompent l’exécution quand une valeur stockée à l’adresse mémoire spécifiée change.Data breakpoints break execution when a value that is stored at a specified memory address changes. Si la valeur est lue mais pas modifiée, l’exécution ne s’interrompt pas.If the value is read but not changed, execution doesn't break. Pour définir des points d’arrêt sur variable, le débogueur doit être en mode arrêt.To set data breakpoints, the debugger must be in break mode.

  1. Commencez le débogage de l’application et attendez qu’un point d’arrêt soit atteint.Start debugging the application, and wait until a breakpoint is reached. Sur le déboguer menu, choisissez nouveau point d’arrêt > point d’arrêt (ou ouvrez le points d’arrêt fenêtre et choisissez Nouveau > point d’arrêt.On the Debug menu, choose New Breakpoint > Data Breakpoint (or open the Breakpoints window and choose New > Data Breakpoint.

  2. Dans la zone Adresse , tapez une adresse mémoire ou une expression qui prend comme valeur une adresse mémoire.In the Address box, type a memory address or an expression that evaluates to a memory address. Par exemple, tapez &avar pour interrompre l’exécution quand le contenu de la variable avar change.For example, type &avar to break when the contents of the variable avar changes.

  3. Dans la zone déroulante Nombre d’octets , sélectionnez le nombre d’octets que le débogueur doit surveiller.In the Byte Count dropdown, select the number of bytes you want the debugger to watch. 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.For example, if you select 4, the debugger will watch the four bytes starting at &avar and break if any of those bytes change value.

    N’oubliez pas que les points d’arrêt sur variable dépendent de l’applicabilité d’adresses mémoire spécifiques.Keep in mind that data breakpoints depend on the applicability of specific memory addresses.

  • L’adresse d’une variable change d’une session de débogage à la suivante.The address of a variable changes from one debugging session to the next. Les points d’arrêt sur variable sont automatiquement désactivés à la fin de chaque session de débogage.Data breakpoints are automatically disabled at the end of each debugging session.

  • 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 imprévisible.If you set a data breakpoint on a local variable, the breakpoint remains enabled when the function ends, but the memory address is no longer applicable, and the behavior of the breakpoint is unpredictable. Si vous définissez un point d’arrêt sur une variable locale, vous devez le supprimer ou le désactiver avant la fin de la fonction.If you set a data breakpoint on a local variable, you should remove or disable the breakpoint before the function ends.

    Les points d’arrêt sur variable ne fonctionnent pas dans les conditions suivantes :Data breakpoints don't work under these conditions:

  • Un processus qui n’est pas en cours de débogage écrit dans l’emplacement de mémoire.A process that is not being debugged writes to the memory location

  • L’emplacement de mémoire est partagé entre plusieurs processus.The memory location is shared between two or more processes

  • L’emplacement de mémoire est mis à jour dans le noyau.The memory location is updated within the kernel. Par exemple, si la mémoire est passée à la fonction ReadFile Windows 32 bits, elle est mise à jour à partir du mode noyau et le débogueur ne s’interrompt pas en cas d’écriture en mémoire.For example, if memory is passed to the 32-bit Windows ReadFile function, the memory will be updated from kernel mode and the debugger doesn't break on the memory write.

Définition d’un point d’arrêt avec une adresse mémoire (C++ natif uniquement)Setting a Breakpoint with a Memory Address (native C++ only)

Vous pouvez aussi utiliser l’adresse d’un objet pour définir un point d’arrêt sur une méthode appelée sur une instance spécifique d’une classe.You can also use the address of an object to set a breakpoint on a method called on a specific instance of a class. Voici un exemple :Here's an example:

Si vous partez d’un objet de type my_class avec l’adresse, vous pouvez définir un point d’arrêt sur fonction sur une méthode nommée my_method appelée à partir de cette instance.For example, given an object of type my_class with the address, you can set a function breakpoint on a method named my_method called from that instance.

  1. Définissez un point d’arrêt quelque part après que l’instance de la classe est instanciée.Set a breakpoint somewhere after that instance of the class is instantiated.

  2. Recherchez l’adresse de l’instance ( 0xccccccccdans cet exemple).Find the address of the instance (we'll say it's 0xcccccccc).

  3. Cliquez sur Déboguer > Nouveau point d’arrêt > point d’arrêt de la fonction (ou ALT + F9, B).Click Debug > New Breakpoint > Function Breakpoint (or ALT + F9, B).

  4. Ajoutez le texte suivant dans la zone Nom de la fonction :Add the following text to the Function Name box:

    ((my_class *) 0xcccccccc)->my_method  
    

Gestion des points d’arrêtManaging Breakpoints

Vous pouvez utiliser la points d’arrêt fenêtre (Déboguer > Windows > points d’arrêt, ou CTRL + ALT + B) pour afficher tous les points d’arrêt que vous avez défini dans votre solution :You can use the Breakpoints window (Debug > Windows > Breakpoints, or CTRL + ALT + B) to see all the breakpoints you have set in your solution:

Fenêtre points d’arrêtBreakpoints window

La fenêtre Points d’arrêt est un emplacement centralisé d’où vous pouvez gérer tous vos points d’arrêt, ce qui peut être particulièrement utile dans une solution de grande taille ou dans un scénario de débogage complexe où les points d’arrêt sont déterminants.The Breakpoints window gives you a central place to manage all your breakpoints, which can be especially helpful in a large solution or a complex debugging scenario where breakpoints are critical. Si vous devez enregistrer ou partager l’état et l’emplacement d’un ensemble de points d’arrêt, vous pouvez exporter et importer des points d’arrêt uniquement à partir de la fenêtre Points d’arrêt .If you need to save or share the state and location of a set of breakpoints, you can export and import breakpoints only from the Breakpoints window.

Points d’arrêt avancésAdvanced Breakpoints

Conditions de point d’arrêtBreakpoint conditions

Vous pouvez contrôler quand et où un point d’arrêt s’exécute en définissant des conditions.You can control when and where a breakpoint executes by setting conditions.

  1. Cliquez avec le bouton droit sur le point d’arrêt ou pointez dessus et choisissez l’icône des paramètres.Right-click the breakpoint, or hover over the breakpoint and choose the settings icon.

  2. Dans le menu contextuel, sélectionnez Conditions.In the context menu, select Conditions. La fenêtre Paramètres de point d’arrêt s’ouvre :This opens the Breakpoint Settings window:

    Paramètres de point d’arrêtBreakpoint settings

    Quand vous cochez la case Conditions , la fenêtre se développe pour afficher les différents types de conditions.When you check the Conditions box, the window expands to show the different kinds of conditions.

    Expression conditionnelle : quand vous sélectionnez Expression conditionnelle, vous avez le choix entre deux conditions : Est true et En cas de modification.Conditional Expression: When you select Conditional Expression, you can then choose two conditions: Is true and When changed. Choisissez Est true pour arrêter l’exécution quand l’expression est satisfaite ou En cas de modification pour l’arrêter quand la valeur de l’expression a changé.Choose Is true if you want to break when the expression is satisfied, or choose When changed if you want to break when the value of the expression has changed.

    Dans l’exemple suivant, nous avons défini que le point d’arrêt est atteint uniquement quand la valeur de testInt est égale à 4:In the following example we set the breakpoint to hit only when the value of testInt is 4:

    Condition de point d’arrêt est trueBreakpoint condition is true

    Dans l’exemple suivant, nous avons défini que le point d’arrêt est atteint uniquement quand la valeur de testInt change :In the following example we set the breakpoint to hit only when the value of testInt changes:

    Point d’arrêt lorsque modifiéeBreakpoint when changed

    Le comportement du champ En cas de modification varie en fonction du langage de programmation.The behavior of the When changed field is different for different programming languages. Si vous choisissez En cas de modification pour du code natif, le débogueur ne considère pas la première évaluation de la condition comme étant une modification : le point d’arrêt n’est donc pas atteint à la première évaluation.If you choose When changed for native code, the debugger doesn't consider the first evaluation of the condition to be a change, so the breakpoint won't be hit on the first evaluation. Si vous choisissez lorsque modifiée pour le code managé, le point d’arrêt sur la première évaluation après lorsque modifiée est sélectionnée.If you choose When changed for managed code, the breakpoint is hit on the first evaluation after When changed is selected.

    Si vous définissez une condition de point d’arrêt dont la syntaxe est incorrecte, un message d’avertissement s’affiche.If you set a breakpoint condition with invalid syntax, a warning message appears. 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.If you specify a breakpoint condition with valid syntax but invalid semantics, a warning message appears the first time the breakpoint is hit. Dans les deux cas, le débogueur arrête l’exécution quand le point d’arrêt non valide est atteint.In either case, the debugger breaks execution when the invalid breakpoint is hit. Le point d’arrêt n’est ignoré que si la condition est valide et prend la valeur false.The breakpoint is skipped only if the condition is valid and evaluates to false.

    La condition peut être n’importe quelle expression valide reconnue par le débogueur.The condition can be any valid expression that is recognized by the debugger. Pour plus d’informations sur les expressions valides, consultez Expressions in the Debugger.For more information about valid expressions, see Expressions in the Debugger.

Note

Vous pouvez utiliser CTRL + ENTRÉE pour fermer la les paramètres de point d’arrêt fenêtre.You can use CTRL+Enter to close the Breakpoint Settings window.

Utilisation d’ID d’objet dans des conditions de point d’arrêt (C# et F#)Using Object IDs in Breakpoint Conditions (C# and F#)

Vous voulez parfois observer le comportement d’un objet spécifique ; par exemple, vous pouvez vouloir découvrir pourquoi un objet a été inséré plusieurs fois dans une collection.There are times when you want to observe the behavior of a specific object; for example, you might want to find out why an object was inserted more than once into a collection. 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.In C# and F#, you can create object IDs for specific instances of reference types and use them in breakpoint conditions. L’ID d’objet est généré par les services de débogage du Common Language Runtime (CLR) et associé à l’objet.The object ID is generated by the common language runtime (CLR) debugging services and associated with the object. Pour créer un ID d’objet, procédez comme suit :To create an object ID, do the following:

  1. Définissez un point d’arrêt dans le code quelque temps après que l’objet a été créé.Set a breakpoint in the code some time after the object has been created.

  2. Démarrez le débogage, puis, quand l’exécution s’interrompt au point d’arrêt, recherchez le point d’arrêt dans la fenêtre Variables locales , cliquez dessus avec le bouton droit, puis sélectionnez Générer ID de l’objet.Start debugging, and when execution stops in the breakpoint, find the breakpoint in the Locals window, right-click it, and select Make Object ID.

    Le symbole $ et un nombre s’affichent alors dans la fenêtre Variables locales .You should see a $ plus a number in the Locals window. Il s’agit de l’ID d’objet.This is the object ID.

  3. Ajoutez un nouveau point d’arrêt conditionnel au point vous voulez étudier, par exemple l’endroit où l’objet doit être ajouté à la collection.Add a new conditional breakpoint at the point you want to investigate, for example when the object is to be added to the collection.

  4. Utilisez l’ID d’objet dans le champ Expression conditionnelle.Use the Object ID in the Conditional Expression field. Par exemple, si une variable item faisant référence à l’objet doit être ajoutée à la collection, vous devez placer item == $n, où n est le numéro d’ID d’objet.For example, if there is a variable item referring to the object that is to be added to the collection, you would put item == $n, where n is the object ID number.

    L’exécution s’arrête au point où cet objet doit être ajouté à la collection.Execution will break at the point when that object is to be added to the collection.

    Si vous voulez supprimer ultérieurement l’ID d’objet, vous pouvez cliquer avec le bouton droit sur la variable dans la fenêtre Variables locales , puis sélectionnez Supprimer l’ID de l’objet.If you later want to delete the object ID, you can right-click the variable in the Locals window and select Delete Object ID.

    Notez que les ID d’objet créent des références faibles et n’empêchent pas l’objet d’être récupéré par le garbage collector.Note that Object IDs create weak references, and do not prevent the object from being garbage collected. Leur validité ne vaut que pour la session de débogage active.They are valid only for the current debugging session.

Nombre d’accèsHit Count

Si vous pensez qu’une boucle dans votre code commence anormal 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 un nombre spécifié d’accès à la ligne de code, au lieu d’être forcé à appuyer à plusieurs reprises associée F5 pour atteindre le niveau de l’itération.If you suspect that a loop in your code starts misbehaving after a certain number of iterations, you can set a breakpoint to stop execution after a specified number of hits to the associated line of code, rather than being forced to repeatedly press F5 to reach the iteration level.

Dans la fenêtre Paramètres de point d’arrêt , définissez Nombre d’accèscomme condition.In the Breakpoint Settings window, set the condition to Hit Count. Vous pouvez dès lors spécifier le nombre d’itérations.You can then specify the number of iterations. Dans l’exemple suivant, nous avons défini que le point d’arrêt est atteint à chaque autre itération :In the following example, we set the breakpoint to hit on every other iteration:

Nombre d’accès de point d’arrêtBreakpoint hit count

FiltreFilter

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.You can restrict a breakpoint to fire only on specified devices, or in specified processes and threads.

Dans la fenêtre Paramètres de point d’arrêt, définissez Filtrecomme condition.In the Breakpoint Settings window, set the condition to Filter. Entrez une ou plusieurs des expressions suivantes :Enter one or more of the following expressions.

  • MachineName = "nom"MachineName = "name"

  • ProcessId = valeurProcessId = value

  • ProcessName = "nom"ProcessName = "name"

  • ThreadId = valeurThreadId = value

  • ThreadName = "nom"ThreadName = "name"

    Placez les valeurs de chaîne entre guillemets doubles.Enclose string values in double quotes. Vous pouvez combiner des clauses à l’aide de & (AND), || (OR), ! (NOT) et de parenthèses.You can combine clauses using & (AND), || (OR), ! (NOT), and parentheses.

Actions de points d’arrêt et points de traceBreakpoint Actions and Tracepoints

Un point de trace est un point d’arrêt qui affiche un message dans la fenêtre Sortie.A tracepoint is a breakpoint that prints a message to the Output window. Un point de trace peut faire office d’instruction de trace temporaire dans le langage de programmation.A tracepoint can act like a temporary trace statement in the programming language.

Dans la fenêtre Paramètres de point d’arrêt , cochez la case Actions .In the Breakpoint Settings window, check the Actions box. Choisissez Enregistrer les messages dans la fenêtre Sortie dans le groupe Action .Choose Log a message to Output window in the Action group. Vous pouvez imprimer une chaîne générique, telle que ceci est un test.You can print a generic string, such as this is a test. Pour inclure la valeur d’une variable ou d’une expression, vous devez la placer entre accolades.To include the value of a variable or expression, enclose it in curly braces. Vous pouvez également utiliser des spécificateurs de format (c# et C++) pour les valeurs incluses dans un point de trace.You can also use format specifiers (C# and C++) for values included in a tracepoint.

Pour arrêter l’exécution quand le point de trace est atteint, décochez la case Continuer l’exécution .To break execution when the tracepoint is hit, clear the Continue Execution check box. Quand Continuer l’exécution est coché, l’exécution n’est pas interrompue.When Continue Execution is checked, execution is not halted. Dans les deux cas, le message est imprimé.In both cases, the message is printed.

Vous pouvez utiliser les mots clés spéciaux suivants dans le Message.You can use the following special keywords in the Message.

$ADDRESS$ADDRESS Instruction actuelleCurrent instruction
$CALLER$CALLER Nom de la fonction appelanteCalling function name
$CALLSTACK$CALLSTACK Pile des appelsCall stack
$FUNCTION$FUNCTION Nom de la fonction actuelleCurrent function name
$PID$PID ID du processusProcess id
$PNAME$PNAME Nom du processusProcess name
$TID$TID ID du threadThread id
$TNAME$TNAME Nom du threadThread name
$TICK$TICK
$TNAME$TNAME

Étiquettes de point d’arrêtBreakpoint labels

Les étiquettes de point d’arrêt sont utilisées uniquement dans la fenêtre Points d’arrêt pour trier et filtrer la liste des points d’arrêt.Breakpoint labels are used only in the Breakpoints window to sort and filter the list of breakpoints. Pour ajouter une étiquette à un point d’arrêt, choisissez la ligne de point d’arrêt, puis choisissez Étiquette dans le menu contextuel.To add a label to a breakpoint, choose the breakpoint row and then choose Label on the context menu.

Exporter et importer des points d’arrêtExport and Import Breakpoints

Vous pouvez exporter un point d’arrêt vers un fichier XML en cliquant avec le bouton droit sur le point d’arrêt et en sélectionnant Exporter.You can export a breakpoint to an XML file by right-clicking on the breakpoint and selecting Export. Le fichier est enregistré par défaut dans le répertoire de la solution.The file is saved by default in the solution directory. Pour importer des points d’arrêt, ouvrez la fenêtre Points d’arrêt (Ctrl+Alt+B) puis, dans la barre d’outils, cliquez sur la flèche pointant vers la droite (l’info-bulle est Importer les points d’arrêt d’un fichier).To import breakpoints, open the Breakpoints window (CTRL + ALT + B) and on the toolbar click the right-pointing arrow (the tooltip is Import breakpoints from a file).

Voir aussiSee Also

Résoudre les points d’arrêt dans le débogueur Visual StudioTroubleshoot Breakpoints in the Visual Studio Debugger
Naviguer dans le code avec le débogueurNavigating through Code with the Debugger