2010-11-18 4 views
0

J'ai des trucs vraiment bizarres avec mes collègues Visual Studio.Visual Studio Debugging Madness!

Nous sommes totalement déconcertés et je suis en train de jeter ça là-bas dans l'espoir que quelqu'un ait une bonne idée.

Voici la question:

Il a un code qui fonctionne sur une minuterie. Dans cette minuterie, il fait un lock pour s'assurer qu'un seul "thread" à la fois peut entrer.

Il place un point de rupture sur un point à l'intérieur du lock et court jusqu'à ce point.

C'est là que l'étrangeté se produit. Comme il marche, le flux va le faire revenir à ce point de rupture après une seconde ou deux. C'est très déroutant. L'ID de thread ne change jamais, ce n'est donc pas un nouveau thread qui dépasse le lock d'une manière ou d'une autre.

Mais voici la partie vraiment bizarre. Cela arrive à chaque fois pour lui, mais quand je télécharge la source et l'essaie, ça fonctionne très bien pour moi. Je peux parcourir tout le code et je ne reçois jamais ma prochaine phrase "sautant" (à défaut d'un meilleur mot). La seule différence entre sa machine et son esprit est que Visual Studio 2010 est installé et il ne l'est pas. (Toutefois, nous les exécutons tous les deux dans Visual Studio 2008 SP1)

Des idées? pas du tout? Je suis vraiment perplexe.

+0

même nombre de noyaux cpu etc? –

+1

cela vous dérangerait de poster du code? – KBoek

+0

Qu'est-ce que vous verrouillez? Pouvez-vous poster le code avec l'instruction 'lock' et aussi montrer comment et où l'objet lock est instancié? –

Répondre

2

La première chose qui me vient à l'esprit est ce correctif:

http://support.microsoft.com/kb/957912

Et si je me souviens bien d'il y a environ 2 ans, l'installation du SDK Silverlight également résolu le problème. Je me souviens avoir pensé que c'était vraiment étrange, mais ça a fait l'affaire pour moi. (J'ai effectivement trouvé cette solution avant le correctif)