web-dev-qa-db-fra.com

Comment définir des points d'arrêt conditionnels dans Visual Studio?

Existe-t-il un moyen simple de définir des points d'arrêt conditionnels dans Visual Studio?

Si je veux atteindre un point d'arrêt uniquement lorsque la valeur d'une variable devient quelque chose, comment puis-je le faire?

122
MrClan

Définissez un point d'arrêt comme d'habitude. Faites un clic droit dessus. Cliquez sur condition.

157
Jeff

Lorsque vous utilisez l'édition Express, vous pouvez essayer ceci:

#if DEBUG
    if( fooVariable == true )
        System.Diagnostics.Debugger.Break();
#endif

si l'instruction s'assure que dans la version, le point d'arrêt n'est pas présent.

45
panako

Visual Studio fournit de nombreuses options pour les points d'arrêt conditionnels:

Pour définir l'un de ces vous

  1. Définir un point de rupture
  2. Cliquez avec le bouton droit sur le point de rupture et, dans le menu contextuel, sélectionnez une option qui vous convient.

Ces options sont les suivantes:

  • Vous pouvez définir une condition, basée sur une expression de code que vous fournissez (sélectionnez Condition dans le menu contextuel). Par exemple, vous pouvez spécifier que foo == 8 ou une autre expression.
  • Vous pouvez faire en sorte que les points d'arrêt se déclenchent après avoir été touchés un certain nombre de fois. (sélectionnez Hit Count dans le menu contextuel). C’est une option amusante à jouer, car vous n’êtes pas limité à un certain nombre de hits, mais vous avez également la possibilité de choisir un autre scénario. Je vous laisse le soin d'explorer les possibilités.
  • Vous pouvez définir des filtres sur l'ID de processus, l'ID de thread et le nom de l'ordinateur (sélectionnez Filtre dans le menu contextuel).
33
C Johnson

Juste une autre façon de le faire (ou si vous utilisez express) ajoutez la condition dans le code:

if(yourCondition)
{
    System.Diagnostics.Debugger.Break();
}
16
  1. Clic droit sur la balle rouge
  2. Choisissez un point d'arrêt conditionnel
  3. Condition d'installation
9
Tigran

Écrire la situation réelle peut être la partie la plus délicate, alors j'ai tendance à

  1. Définir un point d'arrêt régulier
  2. Exécuter le code jusqu'à ce que le point d'arrêt soit atteint pour la première fois
  3. Utilisez le fenêtre immédiate (Débogage> Windows> Immediate) pour tester votre expression.
  4. Cliquez avec le bouton droit sur le point d'arrêt, cliquez sur Condition et collez dans votre expression.

Avantages de l'utilisation de la fenêtre Immediate

  • Il a intellisense
  • Vous pouvez être sûr que les variables dans l'expression sont dans la portée lorsque l'expression est évaluée.
  • Vous pouvez être sûr que votre expression retourne vrai ou faux

Cet exemple se brise lorsque le code fait référence à une table nommée "Setting"

table.GetTableName().Contains("Setting")
7
Andy Joiner

Créez un point d'arrêt comme vous le feriez normalement, cliquez-droit sur le point rouge et sélectionnez "condition".

5
Brandon Moretz
  1. Définissez un point d'arrêt comme d'habitude.
  2. Faites un clic droit sur le marqueur de point d'arrêt
  3. Cliquez sur "Condition ..."
  4. Écrivez une condition, vous pouvez utiliser des noms de variables
  5. Sélectionnez "est vrai" ou "a changé"
5
Casey
  1. Définir un point d'arrêt comme d'habitude
  2. Faites un clic droit sur le point d'arrêt et sélectionnez Condition.
  3. Vous verrez une boîte de dialogue qui dit "Condition de point d'arrêt"
  4. Mettez une condition dans le champ, par exemple. "i == 5"

Le point d'arrêt ne sera touché que lorsque i est 5.

4
user423119

Sur Visual Studio 6.0

Alt+F9!!!

4
Vorac

Définissez le breakpoint comme vous le faites normalement, cliquez avec le bouton droit de la souris sur le point de rupture et sélectionnez l'option condion pour définir votre condition.

1
FIre Panda

Créer un point d'arrêt de fonction conditionnelle

1) Dans la fenêtre Points d'arrêt, cliquez sur Nouveau pour créer un nouveau point d'arrêt.

2) Sous l'onglet Fonction, tapez Reverse pour Function. Tapez 1 pour Ligne, tapez 1 pour Caractère, puis définissez Langue sur Basique.

3) Cliquez sur Condition et assurez-vous que la case à cocher Condition est sélectionnée. Tapez instr.length> 0 pour Condition, assurez-vous que l'option est vraie est sélectionnée, puis cliquez sur OK.

4) Dans la boîte de dialogue Nouveau point d'arrêt, cliquez sur OK.

5) Dans le menu Déboguer, cliquez sur Démarrer.

0
JAiro