32 votes

Débogage à distance dans Visual Studio (VS2008), application Windows Forms

Bonjour J'essaie de déboguer à distance une application Windows Forms (C#), mais j'obtiens toujours cette erreur :

Impossible de se connecter au moniteur de débogage à distance de Microsoft Visual Studio nommé 'XXX. Le débogueur à distance Visual Studio Debugger sur l'ordinateur cible ne peut pas se connecter à cet ordinateur. L'authentification a échoué. Veuillez consulter l'aide pour obtenir de l'aide.

J'ai essayé de configurer selon les guides MSDN mais je n'ai pas réussi à le faire fonctionner.

Mon installation :

  • Ordinateur de développement - XP (x86) qui est connecté à un domaine.
  • Ordinateur de test - Vista (x86) qui est PAS connecté à un domaine.
  • J'ai une connexion réseau entre les machines.
  • J'ai créé un utilisateur local dans le Test ordinateur (user1) avec le nom de mon domaine que j'utilise pour exécuter Visual Studio (mydomain \user1 ). Configurez le même mot de passe.
  • Sur l'ordinateur de test, j'exécute "msvsmon.exe" en tant qu'application (pas en tant que services), je l'exécute en utilisant "runas" avec l'utilisateur que j'ai créé. (utilisateur1) :

    runas /u:user1 msvsmon.exe

Quelqu'un peut-il m'aider ?

Merci.

9voto

Baget Points 2315

Le problème que j'ai rencontré est que j'avais deux utilisateurs :

mydomain\user1
mytestmachine\user1

Ce n'est pas correct (selon Gregg Miskely). J'avais besoin de définir un utilisateur local sur mon ordinateur de développement, par exemple :

mydevcomputer\debug
mytestmachine\debug

avec le même mot de passe et exécutez VS2008 et le Debugging Monitor avec cet utilisateur :

7voto

Jason Points 76

C'est comme ça que ça a marché pour moi :

Ordinateur distant : Microsoft Virtual PC, "IHS \RDM "rattaché au domaine de mon entreprise, connecté en tant que jdoe, compte administrateur.

Ordinateur local : Attaché au domaine local, connecté en tant que jdoe, compte administrateur.

1) ordinateur distant : installer rdbgsetup.exe (à partir de Visual Studio 2005 \Disk 2 \Remote Débogueur \x86 )

2) Ordinateur distant : RUNAS /utilisateur MYDOMAIN \jdoe /netonly msvsmon

3) Ordinateur distant : msvsmon->Outils->permissions ajouter utilisateur "MYDOMAIN \jdoe " (Je dois faire cela à chaque fois que je redémarre)

4) ordinateur local : exécuter msvsmon.

5) ordinateur local, msvsmon->Outils->permissions, ajouter les types d'objets : "ordinateurs", "IHS \RDM "

6) ordinateur local, vs2005->debug->attacher au processus. Transport : Défaut, Qualificateur : jdoe@RDM

7) Rafraîchissez, et voilà, une liste de processus !

2voto

Steve Steiner Points 4044

Gregg Miskely a un article de blog sur la raison pour laquelle le compte de service doit avoir des privilèges d'administrateur (lorsqu'il est configuré de cette façon). L'un des points est que le compte utilisateur, dans votre cas l'utilisateur de la machine de test, doit avoir des privilèges pour se reconnecter à l'autre ordinateur. Il semble que vous rencontriez un cas où le compte mydomain \user1 a des privilèges insuffisants pour se connecter à votre ordinateur de développement.

Si cela ne vous aide pas à lire les articles du blog de Gregg, vous pouvez lui envoyer un courrier.

1voto

Vous êtes développeur et l'un de vos utilisateurs a rencontré une exception. Vous souhaitez la déboguer à distance sans fermer la fenêtre d'exception, mais l'utilisateur est connecté sous un autre compte. Il s'avère que vous pouvez déboguer leur application, mais cela devient délicat.

0) Vous devez toujours avoir des comptes locaux correspondants sur la machine d'application distante et sur la machine locale de Visual Studio, ce qui signifie ajouter un compte à l'ordinateur de l'utilisateur.

1) Vous devez utiliser runas avec l'option /netonly. Ouvrez une invite de commande dans le dossier où se trouve msvsmon et tapez

runas /user:[user] /netonly msvsmon

Cela permet à msvsmon d'utiliser les informations d'identification de l'utilisateur uniquement lorsqu'il accède au réseau (par exemple, lorsque msvsmon se reconnecte à la machine VS locale). msvsmon sera contrarié si vous l'appelez avec des runas sans utiliser /netonly.

2) Vous devez ajouter des autorisations pour la machine Visual Studio locale afin de connecter la machine de l'application distante, via le menu Outils->Permissions de Remote Debug Monitor.

1voto

Michael Burr Points 181287

Fait TESTCOMPUTER\user1 ont le même mot de passe que mydomain\user1 ?

Vous pouvez également essayer d'exécuter msvsmon.exe sur l'ordinateur cible à la place du service de débogage à distance. Vous pouvez utiliser "Exécuter en tant que..." pour l'exécuter sous différents identifiants. Une fois que vous avez réussi à faire fonctionner les choses avec msvsmon,exe vous devriez pouvoir installer (ou réactiver) le service de débogage à distance en le faisant fonctionner sous ces informations d'identification.

EDIT :

Vous devriez être en mesure d'utiliser la page de propriété Permissions dans la section msvsmon.exe pour configurer les autorisations de débogage appropriées pour votre utilisateur de domaine sur la machine cible :

http://msdn.microsoft.com/en-us/library/ms164722.aspx

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X