Depuración remota en Visual Studio (VS2008), Aplicación Windows Forms


Estoy intentando Depurar de forma remota una aplicación de Windows Forms (C#), pero siempre recibo este error:

No se puede conectar al monitor de depuración remota de Microsoft Visual Studio llamado ' XXX. El control remoto de Visual Studio El depurador en el equipo de destino no puede conéctese de nuevo a esta computadora. Falló la autenticación. Por favor, consulte Ayuda por ayuda.

Traté de configurar de acuerdo con las guías MSDN, pero no pude hacerlo trabajo.

Mi configuración:

  • Equipo de desarrollo - XP (x86) que está conectado a un dominio.
  • Computadora de prueba - Vista (x86) que es NO conectado a un dominio.
  • tengo conexión de red entre equipo.
  • He creado un usuario local en la prueba computer (user1) con el nombre de mi dominio usuario que ejecute Visual Studio(mydomain \ user1). configurar el mismo contraseña.
  • En El equipo de prueba estoy ejecutando "msvsmon.exe " como aplicación (no como servicios), la estoy ejecutando usando el comando "runas" con el usuario que he creado. (user1):

    Runas /u:user1 msvsmon.exe

¿Alguien puede ayudarme, por favor?

Gracias.

Author: AnthonyWJones, 2008-12-28

6 answers

Así es como funcionó para mí:

Equipo remoto: Microsoft Virtual PC, "IHS\RDM" conectado a mi dominio corporativo, iniciado sesión como jdoe, cuenta de administrador.

Equipo local: Conectado al dominio local, conectado como jdoe, cuenta de administrador.

1) equipo remoto: instale rdbgsetup.exe (de Visual Studio 2005\Disk 2\Remote Debugger\x86)

2) Equipo remoto: RUNAS / usuario MYDOMAIN\jdoe / netonly msvsmon

3) Equipo remoto: msvsmon - > Herramientas - > permisos añadir usuario "MYDOMAIN\jdoe" (tengo que hacer esto cada vez que reinicie)

4) equipo local: ejecute msvsmon.

5) equipo local, msvsmon - > Herramientas - > permisos, agregar tipos de objetos:" equipos","IHS\RDM"

6) equipo local, vs2005->debug->adjuntar al proceso. Transporte: Por defecto, Calificador: jdoe @ RDM

7) Refrescar, y listo; una lista de procesos!

 7
Author: Jason,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-04 22:25:54

El problema que tenía es que tenía 2 usuarios:

mydomain\user1
mytestmachine\user1

Eso no es correcto (según Gregg Miskely) necesitaba definir un usuario local en mi computadora de desarrollo, por ejemplo:

mydevcomputer\debug
mytestmachine\debug

Con la misma contraseña y ejecute el VS2008 y el Monitor de Depuración con este usuario:

 9
Author: Baget,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-01-01 07:43:47

Gregg Miskely tiene una entrada de blog sobre por qué la cuenta de servicio necesita tener privilegios de administrador (cuando se configura de esa manera). Uno de los puntos es que la cuenta de usuario, en su caso el usuario en la máquina de prueba, debe tener privilegios para conectarse de nuevo al otro equipo. Suena como si estuviera en un caso en el que la cuenta mydomain\user1 no tiene privilegios suficientes para conectarse a su computadora de desarrollo.

Si eso no ayuda a leer las publicaciones del blog de Gregg, envíale el correo podría ayudar.

 2
Author: Steve Steiner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-29 17:45:05

¿TESTCOMPUTER\user1 tiene la misma contraseña que mydomain\user1?

También puede intentar ejecutar msvsmon.exe en el equipo de destino en lugar del Servicio de Depuración Remota. Puedes usar " Ejecutar como..."para ejecutarlo bajo varias credenciales. Una vez que las cosas funcionen con msvsmon,exe, debería poder instalar (o volver a habilitar) el Servicio de Depuración Remota ejecutándolo bajo esas credenciales.

EDITAR:

Debería poder usar la página de propiedades Permissions en msvsmon.exe para configurar el permisos de depuración para el usuario de su dominio en la máquina de destino:

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

 1
Author: Michael Burr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-12-28 12:34:49

Así que usted es un desarrollador y uno de sus usuarios tiene una excepción, y desea depurar de forma remota sin cerrar la ventana de excepción, pero están conectados como una cuenta de usuario diferente. Como resultado, puede depurar su aplicación, pero se vuelve complicado.

0) Aún necesita cuentas locales coincidentes tanto en la máquina de aplicación remota como en la máquina local de Visual Studio, lo que significa agregar una cuenta al equipo del usuario.

1) Necesita usar runas con el / netonly opcion. Abra un símbolo del sistema en la carpeta donde se encuentra msvsmon y escriba

runas /user:[user] /netonly msvsmon

Esto hace que msvsmon use las credenciales del usuario solo cuando accede a la red (por ejemplo, cuando msvsmon se conecta de nuevo a la máquina VS local). msvsmon se molestará si lo llamas con runas sin usar /netonly.

2) Debe agregar permisos para la máquina local de Visual Studio para conectar la máquina de aplicación remota, a través del menú Herramientas->Permisos del Monitor de depuración remota.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-13 20:24:35

Así que no puedo responder sin una cuenta, y solo puedo responder a mis propios comentarios, pero mi cuenta registrada está separada de la cuenta anónima desde la que publiqué, por lo que esta tiene que ser una "nueva respuesta". Disculpe....

Baget - cuando hice este trabajo el día de hoy, creé una cuenta local tanto en el Remote Debug Monitor PC y Visual Studio PC. RDM no estaba en el dominio, VS lo estaba. Ambas cuentas locales son administradoras con credenciales idénticas a mi cuenta de dominio. Desde una cuenta diferente (también administrador) Llamé a runas desde un prompt elevado con el conmutador netonly. Es posible que necesite o no proporcionar su dominio con el nombre de usuario, pero ya que las contraseñas deben coincidir, no creo que importe mucho.

No olvide ajustar sus permisos en el RDM para permitir que la cuenta de usuario que ejecuta VS se conecte con privilegios de depuración. Es bastante exigente sobre a quién le permite agregar a la lista, por lo que si no crea la cuenta local primero se sentirá bastante frustrado. Y si está ejecutando RDM con un nombre de cuenta de usuario diferente, debe usar el nombre completo del servidor cuando intente adjuntarlo al equipo remoto; si ejecuta RDM y VS desde la misma cuenta de usuario, puede salirse con la suya solo con el nombre del equipo.

 0
Author: ajs410,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-10-14 04:03:22