Question

Je vois cela depuis toujours dans mon flux RSS Visual C # 2008:

http://lincolnfair.net/oldLincolnFair/mad.jpg

Je suis à peu près sûr que ce n'est qu'une fonctionnalité de VS 2010, mais je me demandais s'il était possible de le reproduire dans VS 2008?

Était-ce utile?

La solution

Semblable à @Relster, j’ai un extrait de code contenant les éléments suivants

#if DEBUG
    if( node.Name == "Book" )
        System.Diagnostics.Debugger.Break();
#endif

node.Name == "Livre" change en fonction de la condition que je souhaite tester. l'encapsuleur #if DEBUG s'assure que les vérifications ne permettent jamais de libérer du code.

Cela est également beaucoup plus rapide que d'utiliser les points d'arrêt conditionnels dans Visual Studio. Lorsque vous utilisez la fonction bp conditionnelle intégrée de Visual Studio, elle doit pénétrer dans l'application, suspendre tous les fils, évaluer l'expression et déterminer si elle est vraie à chaque fois qu'elle atteint le point d'arrêt. Dans une boucle serrée, cela peut faire la différence entre une performance d'exécution presque complète et une analyse.

Autres conseils

Vous pouvez également le faire dans VS 2008. Je suis sûr qu'il y a plusieurs façons de le faire, mais l'une d'elles consiste à cliquer avec le bouton droit de la souris sur le point rouge situé dans la marge d'un point d'arrêt existant. sélectionnez condition ... , puis donnez-lui simplement une condition qui correspond à un bool et elle ne fonctionnera que si c'est vrai. L'instruction conditionnelle doit avoir accès à tout ce qui se trouve dans la portée de la ligne où le point d'arrêt est défini.

Ce menu contextuel contient également d’autres options vous permettant de filtrer ce qui causera une rupture (par exemple, certains threads), en fonction du nombre de fois où le point d'arrêt a été touché, exécutez des macros lorsque vous frappez le point d'arrêt, etc.

Vous pouvez également définir vos propres conditions et utiliser un appel vers:

System.Diagnostics.Debugger.Break(); 

Même s’il n’est peut-être pas aussi sophistiqué que la méthode de définition des points d’arrêt VS2010, vous pouvez obtenir le même effet avec une surcharge de code minimale. N'oubliez pas de retirer ces informations lorsque vous créez le code de version.

Remarque: dans VS2008 et VS2005, vous pouvez définir un point d'arrêt conditionnel en définissant un point d'arrêt régulier (F9 ou double-clic dans une gouttière), puis en cliquant avec le bouton droit de la souris sur ce point d'arrêt pour définir la "condition ...". La possibilité de définir des points d'arrêt conditionnels n'est PAS disponible dans l'édition VS2008 Express.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top