133 votes

Visual Studio, déboguer un ou plusieurs threads

J'ai une application avec 4 threads travaillant le même code. Cependant, quand je marche pas à pas, il saute entre les différents threads. Comment puis-je le verrouiller sur un thread afin que les autres threads soient ignorés pour le débogage?

114voto

jeffamaphone Points 31732

Oui.

Dans la fenêtre Threads (Debug -> Windows -> Threads), cliquez avec le bouton droit de la souris sur le fil que vous souhaitez et sélectionnez "Basculer vers le fil".

Vous pouvez également choisir "freeze" sur les threads que vous ne voulez pas déboguer afin de les empêcher de s'exécuter. N'oubliez pas de les "décongeler" si vous attendez d'eux qu'ils travaillent.

Lectures complémentaires .

11voto

Charles Bretana Points 59899

Vous pouvez également mettre un point d'arrêt conditionnel dans votre code et placer les thread.Id == [someValue] ou Thread.Name == "[Somename]" dans la condition de point d'arrêt ...

2voto

Hans Passant Points 475940

Cela ressemble fort à un problème très similaire dans Visual Studio 2008 SP1. Il a été fixé avec un post-SP correctif. Mais il y a d'autres preuves que le correctif n'a pas intégrée dans le code de base, ce commentaire est également un problème. Il n'est pas inhabituel pour les correctifs de ne pas obtenir de recul intégrée.

Il n'y a pas un commentaire qui décrit exactement votre problème, à moins que je peux trouver. Je vous recommande de fichier. Compte tenu de l'habitude de la difficulté à reproduire les bugs de ce genre, je recommanderais fortement d'inclure une reproduction de projet qui présente ce problème avec des instructions sur la façon de reproduire le problème.

Une solution de contournement existe de toutes sortes pour votre problème, vous pouvez aller dans Debug + Windows + Threads, cliquez-droit sur le fils que vous ne voulez pas de débogage et sélectionnez Figer. N'oubliez pas de les Décongeler plus tard.

Ces bugs ont été corrigé dans Visual Studio 2010 Service Pack 1.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X