Comment mettre en place le débogage distant avec Visual Studio .NET
Je vous propose, par ces quelques lignes, de clarifier l'insaisissable et célèbre "débogage distant avec Visual Studio .NET".
Conditions préalable
Pour simplifier les explications,
- Appelons clientA notre station de travail et serveurB le serveur distant
- ClientA fonctionne avec Windows 2000, Windows XP ou Windows 2003
- ServeurB fonctionne avec Windows 2000 ou Windows 2003
- clientA et ServeurB sont dans le même domaine Windows
D'autre part,
- IIS et Visual Studio .NET sont installés sur ClientA
- IIS est installé sur ServeurB
- Si ServeurB fonctionne avec Windows 2000, le .NET Framework 1.1 doit être téléchargé et installé
- Le compte du domaine utilisé fait parti des groupes Administrateurs, VS Développeurs et Utilisateurs du Débogueur sur clientA et sur ServeurB
Composants distants
Afin de pouvoir déboguer un processus sur un serveur distant, ce dernier doit pouvoir recevoir les ordres de débogage et communiquer en retour avec la station de travail. Ce sont les composants distants qui participent à ce travail.
Pour les installer, je lance l'installation de Visual Studio .NET. Sur le tout premier écran, j'utilise le lien Installations des composants distants. S'affiche ensuite une fenêtre dans laquelle il suffit localiser puis de cliquer sur le bouton Tout installer
Configuration du pare-feu
Le point délicat est celui de la configuration du pare-feu si nous avons Windows XP SP2 et Windows 2003 SP1. En effet, pour le débogage, il importe de pouvoir utiliser certains ports comme TCP 135, mais aussi d'autoriser des composants comme Mdm.exe, Vs7Jit.exe ou Msvcmon.exe.
Afin d'effectuer cette configuration, la fiche technique 841177 nous fourni l'outil DebuggerFirewall.hta. Ce dernier est une simple page qui liste les paramétrages nécessaires et les applique en un clic.
L'utilisation de DebuggerFirewall.hta est indispensable sur ClientA et ServeurB si le pare-feu est activé.
Si vous avez la curiosité de découvrir le travail dont nous soulage cet outil ou si vous avez besoin de faire les manipulations manuellement, voici tous les détails >> 833977
Points à vérifier si cela ne fonctionne pas
- L'application doit est un répertoire virtuel dans IIS. Ce dernier doit avoir au moins l'authentification Intégrée Windows
- La création du projet ASP.NET et son débogage doit se faire en utilisant le nom de serveur et non pas son adresse IP
- Le Web.config de l'application doit avoir debug="true"
- Dans l'explorateur de solution de Visual Studio, en cliquant droit sur le projet, vérifiez que le débogage ASP.NET est autorisé
- Lorsque vous naviguez avec Internet Explorer sur l'application ASP.NET, vous devez être dans la zone Intranet ou Sites de confiance (cette condition n'est pas rempli si vous utilisez le nom complet du serveur comme ServeurB.Domaine1.com). Dans ce cas, ajoutez le nom du serveur à la liste des sites de la zone Intranet