2009-09-02 7 views
6

J'ai une ancienne application web asp.net basée sur .net framework 1.1, elle a été déployée sur un serveur live pendant de nombreuses années, en ce moment j'ai quelques problèmes avec le site en direct seulement, la version de développement sur mon bureau fonctionne bien. Je pense donc à attacher un débogueur distant au site en direct et à surveiller ce qui s'est passé exactement sur le serveur live, mais je ne sais pas comment faire. J'ai utilisé un débogueur distant auparavant, mais cela a été utilisé lorsque j'ai créé un nouveau projet sur un serveur de développement local, et que la source et le projet se trouvent sur le serveur distant, je viens d'attacher le débogueur distant de mon bureau à ce serveur , ça fonctionne bien. Mais je ne suis pas sûr comment déboguer une application sur le serveur vivant.Comment déboguer une application asp.net sur le serveur en direct

Un grand merci pour votre aide!

+0

serait vraiment utile de savoir le genre de questions que le site en est d'avoir - peut fournir des conseils clés pour le débogage commando. –

+0

basiquement le serveur en direct va soudainement avoir une utilisation CPU assez élevée pour le processus w3wp et nous avons trouvé qu'il y avait un envoi httpwebrequest par application qui a cessé d'envoyer ou de recevoir, beaucoup de connexions CLOSE_WAIT mais pas de connexion active. Merci. – user167466

Répondre

6

Eh bien oui c'est possible, mais c'est plus impliqué. Vous devez joindre au processus de travail IIS exécutant le site Web (w3wp.exe). Je ne l'ai pas fait très souvent, et j'essaie habituellement de l'éviter, car pendant que vous êtes attaché, personne ne peut accéder au site.

Voici un article qui explique le processus.

http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx

L'article est basé sur 2.0 pas 1.1, mais il devrait vous donner encore une idée de la façon de le faire. Je suppose que vous devrez avoir un studio visuel sur le serveur de production.

Si cela n'est pas possible et que vous avez accès au code, vous pouvez également essayer de vous connecter à un fichier texte à certains points de l'application. Je l'ai fait très efficacement pour trouver des problèmes, ce qui vous permet de laisser le site fonctionner normalement et juste vérifier le fichier journal après que vous savez que le problème est survenu.

Vous voudrez peut-être vérifier log4net, qui est une application de connexion gratuite.

Bonne chance

+0

Merci beaucoup pour l'aide. J'ai vérifié l'article, vous avez raison, ce n'est pas la meilleure approche pour surveiller le site en direct. Je vais essayer d'ajouter la journalisation à la partie suspecte du code. J'utilise aussi DebugDiag pour obtenir des informations, mais il est difficile pour moi de le relier à mon code. – user167466

6

Eh bien, pourquoi ne pas essayer d'activer le traçage sur le serveur? Ensuite, vous pouvez voir toutes les informations dans une page séparée? Pour activer dans le web.config:

<configuration> 
    <system.web> 
    <trace enabled="true" pageOutput="false" requestLimit="40" 
     localOnly="false"/> 
    </system.web> 
</configuration> 

Ensuite, chargez la page trace.axd sur votre site web pour voir les données au niveau de la page.

+0

Merci beaucoup pour la réponse. Je ne suis pas sûr si seulement activer trace me donnera assez d'informations pour comprendre un certain problème de délai d'attente, je voudrais savoir où et quand ces délais se sont produits. qu'est-ce qu'ils attendent exactement. Savez-vous comment joindre un débogueur au serveur live? devrais-je d'abord installer les composants VS.net 2003 sur le serveur live pour activer le débogage? Merci. – user167466

Questions connexes