Lors du débogage de mon C #, je veux souvent savoir quand la valeur d'une variable change puis étudier l'état du programme.
Actuellement, je le fais comme ça:
Cependant, le nombre de F10 requis est gênant.
Cela a sûrement été automatisé, pensai-je. Mais je ne trouve pas cette fonctionnalité dans mon Microsoft Visual C # Express , ce qui me surprend. Après tout, la Liste de surveillance fait met automatiquement en surbrillance les valeurs modifiées en rouge vif.
Est-ce que je manque quelque chose?
Astuce simple pour l'édition Express:
private string myValue;
public string MyValue
{
set
{
if (this.myValue != value) Debugger.Break();
this.myValue = value;
}
}
Les points d'arrêt conditionnels sont ce que vous recherchez, mais il semble qu'ils ne soient pas disponibles dans Visual Studio Express.
Dans Visual Studio (non-Express), sa méthode consiste à créer un point d'arrêt conditionnel avec une expression égale à votre valeur de contrôle et à "A changé" en tant que condition de point d'arrêt.
Utilisez Debugger.Break en fonction d'une condition d'exécution ou cliquez avec le bouton droit de la souris sur un point d'arrêt, puis choisissez une pause conditionnelle -> a été modifiée.
Edit: ne sais pas à ce sujet dans Express
Si vous souhaitez intercepter un changement de variable à un point d'arrêt, par opposition à un changement exact, définissez le point d'arrêt, cliquez dessus avec le bouton droit de la souris et choisissez "Condition". Disons que votre nom de variable est X et que la valeur actuelle est A. Entrez "X! = A" dans le champ de condition.
Maintenant, le point d'arrêt ne sera atteint que lorsque X passera à une valeur autre que A.
Voici comment je le fais dans Visual Studio. Définissez un point d'arrêt en appuyant sur F9 ou en cliquant dans la marge de gauche. Cliquez ensuite avec le bouton droit sur le point rouge qui apparaît et sélectionnez la commande Condition. Il y a aussi d'autres options.
Toutefois, cela peut ne pas être pris en charge dans Visual Studio Express.
vous pouvez utiliser des points d'arrêt conditionnels
voir this
Vous pouvez écrire une instruction if qui recherche une modification et avoir un point d'arrêt au sein de cette instruction if. Elle se brise donc initialement, puis vous cliquez sur le bouton de reprise, elle continue jusqu'à ce qu'elle atteigne ce point d'arrêt.