Question

J'utilise VS2010 Beta 2 pour déboguer un code multi-thread. L'amour des piles parallèles, etc.

J'ai une question, cependant: j'ai un point d'arrêt défini dans une méthode qui peut être appelée par plusieurs threads. Une fois que je frappe le point d'arrêt, je veux vraiment garder le focus sur le fil qui a déclenché le que point d'arrêt. Cependant, lorsque je tape « étape », VS passe souvent à un autre thread (dire que je suis arrêté sur un fil 1, mais en attendant, fil 2 résultats mon point d'arrêt).

je sais que je peux congeler manuellement fils dans la fenêtre de fil. Est-il possible de le faire automatiquement - au fond, une fois que je frappe un point d'arrêt, geler toutes les discussions sauf celui en cours jusqu'à ce que je frappe F-5

Était-ce utile?

La solution

Non pas que je suis au courant, mais vous pouvez désactiver votre point d'arrêt pendant que vous vous déplacez dans.

Quand je suis inquiet confusion de fils, je tends juste garder la fenêtre ouverte et fils garder une note de l'identifiant de fil de.

Autres conseils

Je viens de publier un Visual Studio 2010 extension qui fait exactement ce que vous recherchez. Et c'est gratuit.)

  

Présentation

     

Cette extension de Visual Studio 2010 ajoute deux raccourcis et des boutons de la barre d'outils pour permettre aux développeurs de se concentrer facilement sur des fils simples lors du débogage des applications multi-thread.

     

Il réduit considérablement la nécessité d'aller manuellement dans la fenêtre Threads au gel / dégel toutes les discussions, mais celui qui doit suivre, et contribue donc à améliorer la productivité.

     

Caractéristiques

     

restreindre davantage l'exécution uniquement au thread courant. Gèlera tous les autres threads. Raccourci: CTRL + T + T ou bouton Snowflake.   Passer à l'autre thread unique (basé sur ID). Changera thread courant et geler tous les autres threads. Raccourci:. CTRL + T + J ou bouton Suivant

Check it out ici sur la Galerie , sur la page officielle ou dépôt Codeplex

Si vous chargez la fenêtre Threads de Debug-> Windows-> Threads .. Une fois que vous frappez un point de rupture, vous pouvez sélectionner tous les fils et cliquez sur « Threads Freeze », vous pouvez reprendre le fil actif, la sélection et le choix "threads dégel".

Cela permettra que le thread en cours d'exécution dans le débogueur.

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