2010-11-12 6 views
0

Je travaille sur un projet réseau qui utilise TCPListener et TCPClient. J'ai deux instances presque identiques de mon programme fonctionnant sur deux ordinateurs différents, mais pour une raison quelconque l'une des instances fonctionne bien tandis que l'autre bloque quelque part.Blocage du programme réseau

Ce que je me demande, c'est s'il y a un moyen de déboguer ce qui se passe exactement à l'intérieur. Le problème étant que les points d'arrêt ne fonctionnent pas car ils montrent juste l'exécution d'un thread et rien d'autre. J'ai essayé de mettre le programme en pause et il me montre la ligne Application.Run (...) et je n'ai aucun moyen d'y entrer.

Déboguer c'est un cauchemar, et tout conseil serait apprécié.

PM

Répondre

2

Dans la barre d'outils de Visual Studio, vous disposez d'une liste déroulante avec les fils. Vous pouvez l'utiliser pour basculer vers le point d'arrêt actuel dans un autre thread après la pause de l'exécution.

MSDN: How to: Switch to Another Thread While Debugging

+0

Je suis allé à cette fenêtre, je vois les threads de travail que j'ai fait, mais le thread principal montre juste Application.Run et je ne sais pas ce qui se passe. – user472875

+0

Double-cliquez sur les threads de travail jusqu'à ce que vous voyiez celui qui a une trace de pile qui se trouve dans votre code. double-cliquez sur le niveau de la pile qui se trouve dans votre code et qui vous montrera où vous bloquez. –