2017-06-15 3 views
0

Essayer de déboguer une tentative d'essai qui est répétée plusieurs fois avant qu'une erreur apparaisse dans l'une des itérations. Existe-t-il un autre moyen de définir un point d'arrêt au début de l'essai de catch et de spamming f10? C'est problématique pour beaucoup de raisons ...Comment définir un point d'arrêt dans une instruction try avant le lancement de la capture?

Devinez que je pourrais faire un compte et montrer quelle itération échoue mais cela semble si supplémentaire. Est-ce que quelque chose existe qui peut m'aider?

P.S. Je suis sur VS2015 Entrée

+0

Pouvez-vous partager un code? –

+1

dans les paramètres d'exception, vous pouvez choisir d'interrompre toutes les exceptions Common Language Runtime et il va se casser dans le bloc Try – Crowcoder

+0

Voir Trace et débogage. Ajoutez un peu de journalisation pour voir ce qui est différent à propos de l'itération défaillante. Vous pouvez ajouter un point d'arrêt conditionnel pour passer en revue –

Répondre

3

Y at-il un moyen autre que la définition d'un point d'arrêt au début de la essayer d'attraper et de spammer f10?

Oui il y a et c'est ce qu'on appelle un point de rupture conditionnel. Mettez un point d'arrêt et maintenez votre souris sur le point de rupture. Cliquez sur l'icône des paramètres et cochez la case condition et indiquez votre condition (par exemple, lorsque l'itération devient 10). Il se brisera que lorsque la condition rencontre ou condition se true

enter image description here

+0

c'est vraiment cool, merci beaucoup –

+1

Les points de rupture conditionnels fonctionnent, mais j'ai constaté qu'ils ralentissent vraiment le débogueur même lorsque vous n'exécutez pas de code à proximité du point de rupture. (Au moins c'était le cas avant que j'arrête de les utiliser). Vous pouvez obtenir une exécution plus rapide si vous mettez la condition dans une instruction if et appelez 'Debugger.Break()'. – mrfelis