Application de débogage ASP.NET s'exécutant sur le serveur IIS distant à partir de VS2010
Me demandais si quelqu'un pouvait me diriger dans la bonne direction?
Je suis en train de déboguer un déployé application web et ne peuvent pas sembler obtenir l'attachement au travail.
Voici le scénario:
VS2010 installé sur ma machine, avec tout le code source.
IE8 sur ma machine de la navigation à ASP.NET site sur le serveur IIS de production (FWIW .fichiers pdb sur le site de production.)
Quand j'attacher le débogueur de l'IE session, et de continuer à naviguer sur le site, pas de point d'arrêt est jamais touché... donc effectivly je ne pense pas que je suis vraiment le débogage sur le site!??
Je suppose que j'ai besoin d'une sorte de débogage à distance? Si c'est le cas, si quelqu'un sait d'une URL pour aider ce serait très apprécié!
Merci d'avance!
Jim
source d'informationauteur BIDeveloper
Vous devez vous connecter pour publier un commentaire.
Voici un bon article à faire exactement cela:
http://msdn.microsoft.com/en-us/library/bt727f1t.aspx
Voici un complet, étape par étape, guide car il y a beaucoup d'informations éparses et le lien de Microsoft à l'article suppose beaucoup d'informations.
Laissez-moi d'abord de clarifier les termes utilisés dans le reste du guide:
Client est l'ordinateur sur lequel vous n'développement
Distance est l'ordinateur le code a été déployé à qui exécute les services internet (IIS)
Installer msvsmon.exe (Microssouvent VvisualStudio Monitor) sur l'ordinateur Distant.
Vous pouvez trouver l'exécutable installé avec Visual Studio sur votre Client au chemin suivant:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86
Lorsque l'outil est en place et fonctionne, vous devriez voir l'application suivante:
Le Moniteur de Débogage a créé un serveur que vous pouvez vous connecter à distance. Si vous êtes sur une machine Windows, le nom est probablement
User@Remote
. Retenez ce nom, car vous en aurez besoin plus tard. Si vous voulez le copier directement, vous pouvez allez dans Outils > Options et vous verrez le nom du serveur. Vous pouvez même changer pour quelque chose d'autre si vous le souhaitez.À partir d'ici, vous pouvez essayer le fusil de chasse et de voir si tout fonctionne, mais en fonction de la configuration de votre réseau, il peut y avoir quelques autres hoquet. Pour tenter de débogage à distance, ouvrez le projet dans Visual Studio. Cela devrait être exactement le même projet qui est déployé sur IIS.
Dans Visual Studio, vous aurez envie de joindre au processus sur le nouveau serveur. Allez dans Outils > Attacher au Processus ou appuyez sur Ctrl + Alt + P
Dans l'Attacher au Processus de dialogue, modifiez le Qualificatif de votre nom de l'ordinateur vers le nouveau nom de serveur (
User@Remote
) et appuyez sur entrée pour afficher une liste des processus disponibles sur l'ordinateur distant:Si tout revient immédiatement, vous êtes dans de bonnes mains. Il n'y avait pas de stratégies de pare-feu, vous empêchant de connexion avec le serveur distant, et vous pouvez passer à l'Étape 6.
Alternativement, si vous avez le message suivant, cela signifie que votre pare-feu bloque le client distance et des boîtes de communication.
Si vous n'avez pas pu vous connecter, il pourrait y avoir une gamme de problèmes en fonction de votre domaine des politiques. Pour les configurations de pare-feu, vous pouvez consulter Microsoft Configurer le Pare-feu Windows 7 pour le Débogage à Distancemais je l'ai trouvé à pas très détaillé.
Si attachant a échoué, mais vous obtenez toujours un message que l'utilisateur connecté de cette manière:
Alors cela signifie que le problème n'est pas avec les règles de trafic sortant sur le client ou les règles de trafic entrant sur le serveur distant. Il est beaucoup plus probable que le problème est avec les règles de trafic entrant sur l'ordinateur client.
Pour résoudre ce problème, sur l'ordinateur Client, allez dans Panneau de configuration > le Pare-feu Windows > Paramètres Avancés qui devrait ouvrir le Pare-feu Windows avec fonctions Avancées de Sécurité. Sélectionnez Règles de trafic Entrant et cliquez à droite pour entrer dans une Nouvelle Règle:
Donner la règle de n'importe quel nom. Basé sur des conseils en cette SORTE de questionau lieu de soustraire certains ports, nous allons autoriser tout le trafic à passer par pour n'importe quel exécutable Visual Studio. Aller à des Programmes et des Services et sélectionnez le chemin du dossier complet à l'2010 installation de visual studio:
%ProgramFiles% (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Alors assurez-vous que la règle s'applique uniquement aux ordinateurs dans le domaine (assurez-vous privé et public ne sont pas cochées).
Avec un peu de chance, lorsque vous allez à l'arrière pour attacher le processus, vous devriez être en mesure d'entrer dans la machine à distance.
À ce stade, vous devriez voir une liste de tous les processus sur la machine distante. Si vous voulais pour déboguer une application windows, vous auriez il suffit de choisir le nom du processus. Pour ASP.NET, nous voulons nous joindre à l'w3wp.exe (WWW Wdroits Pprocessus). Si vous ne le voyez pas dans la liste, essayez le coup d'envoi au serveur par l'ouverture de la page web de l'application que vous souhaitez déboguer. Vous pouvez le faire sur localhost ou en accédant à l'adresse dans IIS à partir de n'importe quel ordinateur.
Assurez-vous de joindre le bon type de code de votre application. Vous pouvez choisir entre un natif (C++, etc.) ou Gérés (VB, C#, etc), ou sélectionnez automatique et laisser Visual Studio décider.
Si vous obtenez l'erreur suivante, j'ai trouvé que la réouverture de Visual Studio et msvsmon.exe avec des privilèges d'administration fixe la question
Vous verrez un avertissement de sécurité que vous pouvez accepter en cliquant sur Joindre:
Le dernier problème que j'ai rencontré était l'obtention du Débogueur Fichiers à charger. Vous devez assurez-vous que les bibliothèques qui sont exécutées correspondent exactement à ceux qui sont actuellement chargées dans visual studio et qu'ils ont la bonne .fichiers pdb dans la solution sur l'ordinateur client. Vous pouvez inspecter les modules qui ont été chargés et où ils ont chargé de par va Debug > Windows > Modules ou en appuyant sur la touche Ctrl + Alt + U.
Pour plus d'informations sur le chargement du débogueur de fichiers, vous pouvez également essayer l'une des ressources suivantes:
Avec un peu de chance et de travail pour vous à ce stade. Maintenant vous pouvez prendre tous les appels effectués dans votre IIS hébergé code et étape par eux même comme vous le feriez au cours du développement.
Lecture: