mBerube.net
A journey to .Net

Utiliser le Remote Debugger de Visual Studio sans compte de domaine

samedi, 3 avril 2010 15:47 by mBerube
(Aussi disponible en: English)

En recherchant le bogue dont je parlais la dernière fois, je devais utiliser le Remote Debugger sur mon server de QA. Je fais ça régulièrement au travail (dans un domaine), ça fonctionne facile en autant que le compte que vous utilisez est administrateur sur le serveur. Mais à la maison, je ne suis pas dans un domaine donc c'est un peu plus compliqué. Après avoir ramasser de l'information à différents endroits sur le web, j'ai fini par trouver ma solution que j'ai décidé de rassembler ici. Pour l'exemple, supposons la configuration suivante :

  • Un PC
  • Un serveur sous WS 2003 avec IIS 6.o roulant avec le compte par défaut (Network Service)
  • Un utilisateur sur le PC et le serveur nommé MyLocalUser

Scenario 1 : MyLocalUser est administrateur sur le Server

Dans ce scénario, c'est assez simple. Vérifiez que vous avez remote debugger sur le server (sinon, copiez-le du PC, généralement on le trouve sous C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86) et démarrez msvsmon. Si vous êtes connnecté sur le serveur avec MyLocalUser, c'est fait. Sinon, démarrez msvsmon en cliquant droit et en choisissant Run As.. . Entrez les informations de MyLocalUser.

Le remote debugger est maintenant démarré.

Finalement, dans Visual Studio, choisissez "Tools\Attach to process...", et dans Qualifier, entrez le nom du serveur donné par remote debugger (dans notre cas, MyLocalUser@SERVER) et assurez-vous de cocher "Show Processes for all users" et "Show processes in all sessions". Choisissez le processus w3wp et vous êtes prêt à debugger.

Scenario 2 : MyLocalUser n'est pas administrateur sur le serveur

Si MyLocalUser n'est pas administrateur sur le serveur (mais il existe comme utilisateur régulier) et vous ne voulez pas lui donner,  il y a une autre solution. C'est presque comme le premier scénario 1 mais on va créer un compte sur le PC et le serveur seulement pour le remote debugging:

  1. Créer un compte (par exemple RemoteDbgUser) sur le PC et le serveur avec le même mot de passe. Ce compte doit être administrateur sur le serveur ma ce n'est pas nécessaire sur le PC.
  2. Sur le serveur, démarrer Remote Debugger avec "Run as" et utiliser RemoteDbgUser.
  3. Dans Remote Debugger, sous "Tools\permissions", donner accès à MyLocalUser pour débogger (voir image ci-dessous).
  4. Sur le PC, dans Visual Studio, aller dans "Attach process" et entrez RemoteDbgUser@SERVER comme qualifier

Voilà ! J'espère que ça vous aidera et comme ça, vous pourrez passer plus de temps sur vos projets au lieu de rechercher comme moi la façon de faire pendant une heure.

Merci de me lire.

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Categories:   Vie de programmeur
Actions:   E-mail | del.icio.us | Permalink | Commentaires (0) | Comment RSSRss comment feed