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

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 distant Microsoft Visual Studio nommé ' XXX. La Télécommande Visual Studio Débogueur sur l'ordinateur cible ne peut pas se connecter à cet ordinateur. L'authentification a échoué. Consultez l'Aide pour de l'aide.

J'ai essayé de config selon les guides MSDN mais je n'ai pas pu le faire travail.

Ma configuration:

  • 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 machine.
  • j'ai créé un utilisateur local dans le Test ordinateur (user1) avec le nom de mon domaine utilisateur que j'exécute le Visual Studio (mydomainuser1). le programme d'installation de la même le mot de passe.
  • Sur L'ordinateur de Test, je cours " msvsmon.exe " {[15] } en tant qu'application (pas en tant que services), Je l'exécute en utilisant la commande "runas" avec l'utilisateur que j'ai créé. (user1):

    Runas / u: user1 msvsmon.exe

Quelqu'un Peut m'aider s'il vous plaît?

Merci.

32
demandé sur AnthonyWJones 2008-12-28 14:27:22

6 réponses

Voici comment cela a fonctionné pour moi:

Ordinateur distant: Microsoft Virtual PC," IHS\RDM " attaché à mon domaine d'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 Debugger \ x86)

2) ordinateur distant: RUNAS / user MYDOMAIN\jdoe / netonly msvsmon

3) ordinateur distant: msvsmon - > outils - > autorisations ajouter l'utilisateur "MYDOMAIN \ jdoe"(je dois le faire chaque fois que je redémarre)

4) ordinateur local: exécutez msvsmon.

5) Ordinateur local, msvsmon - > outils - > autorisations, ajouter des types d'objets: "ordinateurs", "IHS\RDM"

6) Ordinateur local, vs2005- > debug - >attacher au processus. Transport: Default, qualificateur: jdoe@RDM

7) rafraîchir, et voila; une liste de processus!

7
répondu Jason 2010-02-04 22:25:54

Le problème que j'ai eu est que j'avais 2 utilisateurs:

mydomain\user1
mytestmachine\user1

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

mydevcomputer\debug
mytestmachine\debug

Avec le même mot de passe et exécutez le VS2008 et le moniteur de débogage avec cet utilisateur:

9
répondu Baget 2009-01-01 07:43:47

Gregg Miskely a un blog pourquoi 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 d'utilisateur, dans votre cas l'utilisateur sur la machine de Test, doit avoir des privilèges pour se connecter à 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 de blog de Gregg, à l'envoyer le courrier pourrait aider.

2
répondu Steve Steiner 2008-12-29 17:45:05

TESTCOMPUTER\user1 a-t-il le même mot de passe que mydomain\user1?

Vous pouvez également essayer d'exécuter msvsmon.exe sur l'ordinateur cible au lieu du service de débogage distant. Vous pouvez utiliser " exécuter comme..."pour l'exécuter sous diverses informations d'identification. Une fois que les choses fonctionnent avec msvsmon,exe, vous devriez pouvoir installer (ou réactiver) le service de débogueur distant en l'exécutant sous ces informations d'identification.

Modifier:

Vous devriez être en mesure d'utiliser la page de propriétés des autorisations dans msvsmon.exe pour autorisations de débogage pour votre utilisateur de domaine sur la machine cible:

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

1
répondu Michael Burr 2008-12-28 12:34:49

Donc, vous êtes un développeur et l'un de vos utilisateurs a une exception, et vous voulez le déboguer à distance sans fermer la fenêtre d'exception, mais ils sont connectés en tant que compte d'utilisateur différent. Comme il se trouve, Vous pouvez déboguer leur application, mais il devient difficile.

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

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

runas /user:[user] /netonly msvsmon

Cela oblige msvsmon à utiliser les informations d'identification de l'utilisateur uniquement lors de l'accès au réseau (par exemple lorsque msvsmon se connecte à la machine VS locale). msvsmon se fâchera si vous l'appelez avec runas sans utiliser / netonly.

2) vous devez ajouter des autorisations pour que la machine Visual Studio locale se connecte à la machine d'application distante, via le menu Outils->autorisations du moniteur de débogage distant.

1
répondu 2009-10-13 20:24:35

Donc je ne peux pas répondre sans compte, et je ne peux répondre qu'à mes propres commentaires, mais mon compte enregistré est séparé du compte anonyme à partir duquel j'ai posté, donc cela doit être une "nouvelle réponse". Désolé.

Baget-quand j'ai fait ce travail plus tôt aujourd'hui, j'ai créé un compte local sur le PC Remote Debug Monitor et le PC Visual Studio. RDM n'était pas sur le domaine, VS était. Les deux comptes locaux sont administrateurs avec des informations d'identification identiques à mon compte de domaine. À partir d'un autre compte (également administrateur) j'ai appelé runas à partir d'une invite élevée avec le commutateur netonly. Vous pouvez ou non avoir besoin de fournir à votre domaine le nom d'utilisateur, mais comme les mots de passe doivent tous correspondre, Je ne pense pas que cela compte beaucoup.

N'oubliez pas d'ajuster vos autorisations dans le RDM pour permettre au compte utilisateur exécutant VS de se connecter avec des privilèges de débogage. Il est assez pointilleux sur qui il vous permet d'ajouter à la liste, donc si vous ne créez pas le compte local d'abord, vous serez assez frustré. Et si vous exécutez RDM sous un nom de Compte d'utilisateur différent, vous devez utiliser le nom complet du serveur lorsque vous essayez de joindre à L'ordinateur distant; si vous exécutez à la fois RDM et VS à partir du même compte d'utilisateur, vous pouvez vous en sortir avec juste le nom de l'ordinateur.

0
répondu ajs410 2009-10-14 04:03:22