46 votes

Puis-je définir un point d'arrêt lorsque la variable obtient une valeur spécifique en .NET ?

J'utilise Visual Studio 2010, et je sais que cette fonctionnalité est disponible en C++.

J'ai besoin de déboguer un code qui change une variable en plusieurs valeurs. Je veux déboguer le code dans un cas spécifique, lorsque la variable prend une valeur spécifique. Je sais que je peux ajouter if(var == value) mais existe-t-il un moyen élégant de le faire ?

Autre question, puis-je définir un point d'arrêt lorsqu'une variable est modifiée en général ?

1voto

gibberish Points 6301

VSCode

Dans VisualStudio Code, vous pouvez définir des points d'arrêt conditionnels comme suit :

  1. Cliquez dans la gouttière pour créer un point d'arrêt en points rouges.

  2. Choisissez Debug dans la barre d'outils de gauche (icône : barre circulaire sur le bug).

  3. Il y a quatre sections : Variables, Surveillance, Pile d'appels et Points d'arrêt.

  4. Développer la section Points d'arrêt pour que vous puissiez voir les points d'arrêt

  5. Cliquez avec le bouton droit de la souris sur le point d'arrêt souhaité

  6. Choisissez Edit Breakpoint...

  7. Définissez votre condition et appuyez sur <Enter>. Par exemple :
    myvar == 1234
    ou
    'stophere' in myvar
    etc.

Références :

https://code.visualstudio.com/docs/editor/debugging#_conditional-breakpoints

0voto

jeffamaphone Points 31732

Vous pouvez faire ces deux choses.

  1. Définir le point d'arrêt dans VS. Faites un clic droit sur le point rouge dans la marge et sélectionnez Add Condition. Là, vous pouvez dire var==value et sélectionnez "Is True".
  2. Vous pouvez probablement y parvenir avec l'option "A changé" dans le dialogue ci-dessus.

0voto

Lukas Points 51

Les points d'arrêt conditionnels sont possibles, comme d'autres réponses l'ont déjà souligné. Comme l'explique JaredPar, vous pouvez définir un point d'arrêt, faire un clic droit dessus, sélectionner "Conditions" et saisir votre/vos condition(s).

Depuis Visual Studio 2019 Preview 2, les soi-disant "Data Breakpoints" sont disponibles. En mode débogage, vous pouvez sélectionner une variable dans votre fenêtre "Autos" ou "Locals" et avec un clic droit "Break Whan Value Changes" vous pouvez archiver juste cela.

Cet article de Microsoft DevBlogs l'explique assez bien : Rompre quand la valeur change : Points d'arrêt des données pour .NET Core dans Visual Studio 2019

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X