2008-09-16 17 views
10

¿Es posible instalar el Depurador remoto x86 como un servicio en una máquina de 64 bits? Necesito adjuntar un depurador al código administrado en un proceso de sesión 0. El proceso ejecuta 32 bits, pero el servicio de depuración que se instala es de 64 bits y no se adjuntará al proceso de 32 bits.x86 Servicio de depurador remoto en x64

Intenté crear el Servicio utilizando el comando SC, y pude hacer que el servicio se iniciara, y verifiqué que se estaba ejecutando en los procesos del Administrador de tareas. Sin embargo, cuando traté de conectarme con Visual Studio, decía que el monitor del depurador remoto no estaba habilitado. Cuando paré el servicio x86, y comencé el servicio x64 y pude encontrar el monitor, pero todavía recibí un error.

Aquí está el error cuando trato de usar el depurador remoto: No se puede adjuntar al proceso. La versión de 64 bits del Monitor de depuración remota de Visual Studio (MSVSMON.EXE) no puede depurar procesos de 32 bits o volcados de 32 bits. Por favor usa la versión de 32 bits en su lugar.

Aquí está el error cuando intento adjuntar localmente: No se admite la conexión a un proceso en una sesión de servidor de terminal diferente en esta computadora. Pruebe la depuración remota en la máquina y ejecute el Monitor de depuración remota de Microsoft Visual Studio en la sesión del proceso.

Si trato de ejecutar el depurador remoto de 32 bits como una aplicación, no lo puedo trabajar adjuntar b/c el depurador remoto se ejecuta en mi sesión y no en la sesión 0.

+0

¿Puede proporcionar más detalles sobre el problema? ¿Cuál es el servicio de 32 bits en cuestión? ¿Cuál es exactamente el error? Implica que es la bitness, pero el depurador de 64 bits debería ser capaz de cargar código administrado de 32 bits, afaik. – x0n

Respuesta

16

Esto funciona en mi máquina (TM) después de instalar rdbgsetup_x64.exe y pasando por el asistente de configuración:

sc stop msvsmon90 
sc config msvsmon90 binPath= "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe /service msvsmon90" 
sc start msvsmon90 
+0

¡Funciona genial para mí, gracias! Llevé muchas búsquedas para encontrar esta gema +1 voto mío. – Xander

3

No he probado esto, pero aquí hay una sugerencia de todos modos:

Intente instalar el servicio de depuración remota x86 manualmente.

sc create "Remote Debugger" binpath= "C:\use\short\filename\in\the\path\x86\msvsmon.exe /service msvsmon90" 

Dos notas:

  • Tendrá que utilizar nombres de archivo cortos en el camino hacia la msvsmon.exe a evitar tener que citar el camino (ya que todo el comando tiene que ser citado)
  • debe haber un espacio después del "binpath =" (y no hay espacio antes del '=' carácter). Quien escribió el analizador de línea de comandos para el comando sc debe estar maldito.

Luego puede usar el applet del panel de control services.msc para ejecutarlo con las credenciales correctas.

Probablemente deba detener o incluso eliminar el servicio de depurador remoto de x64 existente.

3

puedo confirmar que lo que quiere hacer de hecho va a trabajar. A menudo conecto mi workstation xp de 32 bits a un servidor x64 win2003 con el depurador remoto VS2008.

7

Tuvimos el mismo problema al intentar depurar remotamente un sitio web que se ejecuta como 32 bits dentro de 64 bits IIS.

También puede hacer esto:

  • Detener el servicio de depuración por defecto (que será x64 ya que el instalador habrá sido inteligente y configurado que uno para correr).
  • Navegue a la carpeta del menú Inicio del depurador remoto y ejecute el servicio de depuración x86 . Ignore la advertencia sobre
    32bit/64bit.
  • Abra la ventana Opciones> Herramientas de la ventana de la aplicación depurador remoto y crea
    nota del valor en el 'Servidor de Nombre
    ' cuadro de texto.
  • Ahora puede conectar el Visual Studio a ella mediante la copia del 'Servidor de nombres'
    valor en la caja de texto/combo la 'Calificador' en el conectar con el proceso de diálogo
    de Visual Studio.

En una nota relacionada, también hay un error de bajo nivel con la autenticación Kerberos si va a conectar desde Windows 2008/7/Vista de una máquina de 2003, describe aquí: http://www.labs.jobserve.com/Articles.aspx/Remote-debugging-code-on-Windows-2003-from-Vista-or-Windows-72008-R2 e informó a la EM (recientemente cerrado como 'externo') a través de Conectar aquí: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=508455

+0

Hemos presentado una nueva falla con MS Connect sobre el problema de autenticación Kerberos aquí: https://connect.microsoft.com/WindowsServerFeedback/feedback/ViewFeedback.aspx?FeedbackID=518848. Si alguien más se encuentra con este problema, vote por él. Tengo la sospecha de que el equipo de Windows simplemente lo devolverá al Equipo VS. –

+0

¡Esto funcionó como un encanto para mí! ¡Gracias! Solo tuve que ejecutar la opción x86 desde el menú de inicio. Mucho más fácil que lidiar con el servicio. –

+0

Funciona para mí, pero tenía un paso adicional: un aviso de sí/no en el cuadro del servidor para permitir la conexión entrante después de ingresar el Calificador desde el cuadro de host. –

0

Funcionó para mí sin instalar software adicional. Acabo de copiar la carpeta C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger en la VM e inicié el msvsmon.exe desde la carpeta x86. Tanto mi invitado como el host son x64.

0

1) Instale la versión x64. Esto también instala el depurador x86 pero no crea un acceso directo.

2) Usted puede encontrar el ejecutable para la depuración proceso x86 aquí ... C: \ Archivos de programa \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ depurador remoto \ x86 \ msvsmon.exe

3) Si quiero, fijarlo a la barra de tareas.

0

A veces ocurre este error, cierro Visual Studio y lo vuelvo a abrir, ¡todo está bien!

Comportamiento muy extraño de vs

Cuestiones relacionadas