Cómo implementar la depuración remota en Visual Studio 2005

Columna de voz de soporte ASP.NET

Cómo implementar la depuración remota en Visual Studio 2005

Para personalizar esta columna a sus necesidades, deseamos invitar a enviar sus ideas sobre temas que le interesan los problemas que desea ver y abordaron en próximas columnas de voz de soporte y artículos de Knowledge Base. Puede enviar sus ideas y comentarios mediante el Preguntar para el formulario. También hay un vínculo al formulario en la parte inferior de esta columna.

Introducción

Bienvenido a la columna de voz de soporte de ASP.NET de Microsoft. Mi nombre es Akshay N. S., y estoy con el equipo de soporte técnico de desarrolladores ASP.NET. He estado trabajando con compatibilidad ASP.NET durante casi dos años. Este mes en la columna de voz de soporte de ASP.NET, voy a describir cómo implementar la depuración remota de aplicaciones Web ASP.NET con Microsoft Visual Studio 2005. Me gustaría agradecer a mi dirección técnica, Jerry Orman, por su ayuda increíble!

Depuración remota está considerado como uno de los temas más complicados en ASP.NET, pero es una característica realmente increíble y es realmente útil cuando no podemos tener un servidor Web local o cuando tenemos que almacenar las aplicaciones en una ubicación centralizada. Esta columna explica cómo configurar y utilizar la depuración remota en Visual Studio 2005.

Instalación de depuración remota se simplifica considerablemente en Visual Studio 2005. Aunque el verbo DEBUG aún se envía al sitio Web para asegurarse de que se está ejecutando el proceso remoto, todos los escenarios de depuración remota, salvo la depuración, T-SQL utilizar al Monitor de depuración remota (Msvsmon.exe).


Para obtener más información acerca de lo nuevo en el depurador de Visual Studio 2005, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):En Visual Studio .NET 2003 y Visual Studio .NET 2002, depuración dependía de dos paquetes DCOM, Machine Debug Manager (Mdm.exe) y Vs7jit.exe. Problemas comunes que verían personas fueron causados por errores de coincidencia de versión, permisos de DCOM o problemas de red y solucionar los problemas era muy difícil. Estos paquetes se han eliminado. Msvsmon.exe ahora tiene una interfaz gráfica de usuario en lugar de la interfaz de línea de comandos anterior. Con el uso de Msvsmon.exe, más se simplifica la depuración remota. Necesitará ejecutar Msvsmon.exe y la herramienta escucha las conexiones de los clientes.

Msvsmon.exe tiene una interfaz intuitiva que facilita el uso. El programa de instalación de la depuración remota en Visual Studio 2005 es bastante sencillo. Necesitará ejecutar Msvsmon.exe en el servidor remoto antes de depurar. Puede instalar al Monitor de depuración remota desde el CD de 2005 de Visual Studio o simplemente ejecutar Msvsmon.exe desde un recurso compartido sin instalar nada en absoluto en el servidor Web.

Para obtener más información sobre la depuración de ASP.NET, visite el siguiente sitio Web de MSDN:

¿Por qué la depuración remota?

Puede utilizar la depuración remota cuando se dispone de las siguientes situaciones:
  • No se puede ejecutar una aplicación Web localmente.
  • No puede tener un servidor Web local y que necesita para desarrollar una aplicación para los usuarios de Internet o desea una aplicación que se implementará en un servidor Web.
  • La aplicación no está disponible localmente.
  • Desea almacenar la aplicación en una ubicación centralizada.

El Monitor de depuración remota (Msvsmon.exe)

El Monitor de depuración remota (Msvsmon.exe) es una pequeña aplicación que se conecta Visual Studio 2005 para la depuración remota. Durante la depuración remota, Visual Studio 2005 se ejecuta en un equipo (el host del depurador) y el Monitor de depuración remota se ejecuta en el equipo remoto junto con la aplicación que está depurando.

El Monitor de depuración remota se ejecuta como una aplicación de Microsoft Windows. La interfaz de usuario muestra que el Monitor de depuración remota se ejecuta y se hace para configurar la depuración remoto.

Configuración Msvsmon.exe para depuración remota

Puede configurar al Monitor de depuración remota para la depuración remota en uno de dos modos:
  • Modo de autenticación de Windows
    Este modo utiliza seguridad integrada del sistema operativo para proporcionar un alto nivel de seguridad. Los protocolos Kerberos y NTLM se utilizan para autenticar todas las solicitudes. Privacidad de paquete (RPC) se utiliza para cifrar datos que viajan a través de la red cuando se depura código nativo o código basado en.NET Framework en los equipos que ejecutan Microsoft Windows Server 2003, Microsoft Windows XP, Microsoft Windows 2000 y futuros sistemas operativos de Microsoft Windows de llamada a procedimiento remoto.

    Para configurar la depuración remota en modo autenticación de Windows, visite el siguiente sitio Web de MSDN:
  • Modo sin autenticación
    Este modo no tiene seguridad. Visual Studio 2005 le enviará el nombre de usuario del usuario actual al depurador remoto, pero esta información se utiliza para fines informativos y, por tanto, no se comprueba. El modo autenticación no permite una depuración más rápida en redes lentas, pero no es seguro y debe utilizarse únicamente en redes seguras. Este modo nunca debe utilizarse en una red que pueda tener tráfico hostil. Además, este modo no debe utilizarse nunca para depurar de forma remota a través de Internet. El modo autenticación no admite sólo depuración nativa.

    Para configurar la depuración remota en modo sin autenticación (sólo para código nativo), visite el siguiente sitio Web de MSDN:
El depurador remoto se ha diseñado para que varios usuarios pueden ejecutar al depurador remoto en el mismo equipo. Cada instancia del depurador remoto tiene un nombre de servidor único. Nombres de los servidores son configurables, por lo que puede dar cualquier nombre de servidor una instancia del depurador remoto. Normalmente, el nombre del servidor predeterminado es satisfactorio. El nombre del servidor predeterminado varía dependiendo de que el usuario inició al depurador remoto. Si el usuario user_name desde el dominio nombreDeDominio es iniciado sesión en el equipo nombreDeServidor , el nombre del servidor predeterminado sería nombre_dominio\nombreDeUsuario@nombre_servidor.

Se conecta a una instancia del depurador remoto escribiendo el nombre del servidor en el cuadro de diálogo Asociar al proceso o escribiendo el nombre del servidor en las propiedades de depuración de un proyecto. Para abrir el cuadro de diálogo Asociar al proceso , haga clic en Asociar al proceso , en el menú Depurar o en el menú Herramientas .

Depurar el equipo de otro usuario

Supongamos que deseamos realizar la depuración remota en el equipo de un usuario diferente con el otro usuario ha iniciado sesión el equipo. Tenemos que tener en cuenta dos aspectos principales:
  • Permisos
    De forma predeterminada, sólo los administradores y el usuario que ejecuta al depurador remoto tienen acceso para conectarse al depurador remoto.
  • Conectar
    Visual Studio 2005 necesita saber a qué instancia del depurador remoto desea conectarse. Si el mismo usuario está ejecutando el depurador remoto y Visual Studio 2005, Visual Studio 2005 podrá encontrar al depurador remoto sin que usted lo que le indica qué usuario está ejecutando el depurador remoto.


    Sin embargo, si otro usuario está ejecutando el depurador remoto, Visual Studio 2005 se debe indicar a conectarse a nombreDeDominio\nombreDeUsuario@remote_computer en lugar de simplemente que le digan para conectarse a remote_computer.
Veamos un ejemplo para comprender claramente esta situación. Molly Clark y Adam Barr son ambos empleados de Adventure Works. Adventure Works tiene un dominio de Microsoft Windows NT denominado adventure-works.com. ADAM tiene problemas con un software que escribió Molly. Molly desearía depurar el software en el equipo de Adam. Molly y Adam siguen estos pasos:
  1. ADAM no tiene el depurador remoto en su equipo. Para configurar el depurador remoto, Molly decide compartir el directorio de programa de programa\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger en su equipo. Crea un recurso compartido de archivos denominado remoto.
  2. ADAM ejecuta \\MollyComputerName\Remote\x86\Msvsmon.exe.
  3. Cuando se inicie el depurador remoto, Adam hace clic en permisos en el menú Herramientas para configurar al depurador remoto mediante el cuadro de diálogo de permisos . Le da permiso de Molly para depurar.

    Nota: ADAM también podría configurar al depurador remoto pasando la opción Permitir al iniciar el depurador remoto.
  4. Molly inicia Visual Studio 2005.
  5. Para abrir el cuadro de diálogo asociar al proceso , Molly hace clic en asociar al proceso en el menú Herramientas .
  6. Molly se conecta al equipo de Adam escribiendo adventure-works.com\Adam@AdamComputerName en el cuadro cualificador .
  7. En Procesos disponibles, Molly selecciona el proceso de trabajo que su aplicación esté utilizando y, a continuación, hace clic en asociar.
  8. Molly abre un navegador y proporciona la dirección URL a la aplicación remota. La ejecución se detiene donde se coloca el punto de interrupción en la aplicación.

Ejecutando el servicio del depurador remoto en ASP.NET y en otros entornos de servidor

Para la depuración en ASP.NET y otros entornos de servidor, puede ejecutar al Monitor de depuración remota como servicio de Windows (el servicio del depurador remoto).

Para configurar al Monitor de depuración remota como un servicio, siga estos pasos:
  1. Haga clic en Inicio, haga clic en
    Microsoft Visual Studio 2005, elija Visual Studio Toolsy, a continuación, haga clic en Visual Studio 2005 configuración Asistente para Remote Debugger.
  2. Siga los pasos del Asistente para configurar la depuración remota como servicio.

Cómo configurar el entorno para la depuración remota

Agregue el usuario apropiado al grupo usuarios del depurador en el equipo remoto

Para ello, siga estos pasos:
  1. En el equipo remoto, haga clic en Mi PCy, a continuación, haga clic en Administrar.
  2. En Administración de equipos, expanda
    Herramientas del sistema, expanda usuarios locales y gruposy, a continuación, expanda grupos.
  3. Haga doble clic en usuarios del depurador.
  4. Para agregar el usuario apropiado al grupo usuarios del depurador, haga clic en Agregar en el cuadro de diálogo Propiedades de usuarios del depurador .
  5. En el cuadro de diálogo Seleccionar usuarios, equipos o grupos, escriba el usuario apropiado en el
    Cuadro Escriba los nombres de objeto que desea seleccionar y, a continuación, haga clic en
    Aceptar dos veces. Por ejemplo, escriba Dominio1\Usuario1.
  6. Salir de la herramienta Administración de equipos.
Nota: En Visual Studio .NET 2003 y Visual Studio .NET 2002, el usuario que está intentando realizar depuración remota debe ser un miembro del grupo Administradores. Sin embargo, en Visual Studio 2005, no necesitamos agregar este usuario al grupo Administradores.

La siguiente tabla muestra qué cuentas pueden tener acceso a la computadora.
Configuración del equipoCuenta de sistema localCuenta de dominioCuentas locales con el mismo nombre de usuario y la contraseña en ambos equipos
Ambos equipos en el mismo dominio
Ambos equipos en dominios con confianza bidireccionalNoNo
Uno o ambos equipos en un grupo de trabajoNoNo
Equipos en dominios diferentesNoNo

Asegúrese de que están instalados los componentes de depuración remotos de Visual Studio 2005 en el servidor remoto

Si no desea ejecutar Msvsmon.exe desde un recurso compartido remoto, deberá instalar los componentes de depuración remota. Para instalar los componentes de depuración remotos, siga estos pasos:
  1. Inserte el último CD de Visual Studio 2005 en el equipo remoto. Por ejemplo, si su copia de Visual Studio 2005 estaba en cuatro CD, inserte el CD cuarto en el equipo remoto.
  2. Desplácese hasta la carpeta Remote Debugger en el CD.
  3. La carpeta Remote Debugger contiene una subcarpeta para cada arquitectura de procesador, es decir, x86, x64 e IA-64 (sólo SKU admitidos). Abra la subcarpeta que coincida con el procesador del equipo.
  4. Iniciar Rdbgsetup.exe y, a continuación, siga las instrucciones para completar la instalación.

Habilitar la depuración remota en el servidor remoto

Para habilitar la depuración remota en el servidor remoto, siga uno de estos procedimientos:
  • Instalar al Monitor de depuración remota en el servidor remoto desde el CD de 2005 de Visual Studio. Para ello, siga estos pasos:
    1. Iniciar manualmente Msvsmon.exe desde el sistema de archivos local al iniciar la depuración. Puede detener el proceso cuando termine la depuración.
    2. Iniciar el Visual Studio 2005 servicio del depurador remoto (Msvsmon.exe se ejecuta como un servicio). De forma predeterminada, el servicio está deshabilitado. Debe utilizar el complemento Servicios de Microsoft Management Console (MMC) para habilitar e iniciar el servicio. Una vez que se inicia el servicio, automáticamente se pueden depurar aplicaciones de ASP.NET.
  • Ejecutar Msvsmon.exe desde un recurso compartido de forma remota. Al compartir el directorio de componentes de depuración remota en el equipo de Visual Studio 2005, puede ejecutar Msvsmon.exe en el servidor remoto sin instalar nada en el servidor.
Se instala msvsmon.exe en las siguientes rutas:
  • La ruta de instalación\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86
  • La ruta de instalación\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\ia64
  • La ruta de instalación\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\ia64
Una vez que comience Msvsmon.exe en el servidor remoto, puede abrir el proyecto remoto y depurar.

El archivo Msvsmon.exe.config debe coincidir con la versión de common language runtime (CLR). La versión CLR es versión 2.0.50727 si ha instalado un service pack de Visual Studio 2005.

Las siguientes características del depurador no funciona al ejecutar Msvsmon.exe desde un recurso compartido:
  • Depuración en un equipo que ejecuta Microsoft Windows Millennium Edition o Microsoft Windows 98
  • ENTRAR en un servicio Web XML (la asociación Manual sigue siendo posible.)
  • Depuración automática de una aplicación Web de ASP.NET o una extensión de API de servidor de Internet (ISAPI) basado en servidor ATL (de nuevo, la asociación manual sigue siendo posible.)
Para obtener más información acerca de cómo configurar la depuración remota, visite el siguiente sitio Web de MSDN:

Crear una solución Web

Para ello, siga estos pasos:
  1. Haga clic en Inicio, seleccione Todos los programas, elija Microsoft Visual Studio 2005y, a continuación, haga clic en Microsoft Visual Studio 2005.
  2. En el menú archivo , elija nuevoy, a continuación, haga clic en sitio Web.
  3. En el cuadro de diálogo nuevo sitio Web , haga clic en
    Sitio Web de ASP.NET en Plantillas instaladas de Visual Web Developer.
  4. En el cuadro ubicación , haga clic en
    HTTP.
  5. Para la ubicación, escriba una ruta de acceso en el servidor remoto. Por ejemplo, escriba http://RemoteServerName/NombreDeAplicaciónWeb.

    Nota: Asegúrese de que las extensiones de servidor de FrontPage de Microsoft están instaladas en el servidor remoto. Si no tiene las extensiones de servidor de FrontPage instaladas en el servidor remoto, recibirá el siguiente mensaje de error:
    Error message
  6. Abra el archivo Default.aspx en la vista del diseñador.
  7. Haga doble clic en el diseñador para abrir el Editor de código. Se colocan en el evento Page_Load .
  8. Agregue la siguiente línea de código al evento Page_Load .
    ' Visual BasicResponse.Write("Hello World")

    // C#
    Response.Write("Hello World");

  9. Presione F9 en la línea actual para establecer un punto de interrupción.

Comprobar que funciona de depuración remota

Para comprobar que funciona de depuración remota, presione F5 para ejecutar la aplicación en modo de depuración. Se debe interrumpir el depurador en la línea donde se coloca el punto de interrupción.

Al iniciar la depuración, el Monitor de depuración remota es similar a la siguiente en el servidor remoto:
Remote Debugging Monitor
Esto nos indica que el usuario esté conectado para depurar la aplicación.

Si no se alcanza el punto de interrupción, deberíamos considerar examinar los registros de Microsoft Internet Information Services (IIS). Los registros de IIS le ayudará a determinar qué paso no funciona o si el verbo DEBUG se envía al servidor Web. Los registros de IIS se encuentran en la ubicación siguiente:
%windir%\system32\logfiles\w3svcNumber
Nota: Número es el número de instancia IIS del sitio Web.

Sugerencia: También puede hacer clic en Inicio, haga clic en
Ejecutary, a continuación, escriba LogFiles para ir al directorio del archivo de registro predeterminado.

Puede obtener la ruta de acceso comprobando las propiedades IIS:
  1. Inicie el Administrador de IIS.
  2. Haga clic en el sitio Web va a crear proyectos con y, a continuación, haga clic en Propiedades.
  3. En la ficha sitio Web , haga clic en
    Propiedades en Habilitar registro.

    La ruta de acceso del archivo de registro y el directorio se enumeran en la parte inferior de la ficha Propiedades a generales .
Éste es el aspecto de los registros de IIS después de que son capaces de depurar correctamente la aplicación. He agregado comentarios en el registro para mostrar los elementos que estamos buscando.
#Software: Microsoft Internet Information Services 5.1#Version: 1.0
#Date: 2006-09-11 14:32:56
#Fields: time c-ip cs-method cs-uri-stem sc-status
14:32:56 X.X.X.X POST /remoteApp/_vti_bin/_vti_aut/author.dll 200

Look for the debug verb after the IP address (in our case it's X.X.X.X). This indicates that the debug verb is sent to the Web server successfully.
14:32:58 X.X.X.X DEBUG /remoteApp/Default.aspx 200
14:33:02 X.X.X.X GET /remoteApp/Default.aspx 200
14:33:05 X.X.X.X DEBUG /remoteApp/Default.aspx 200

Si no encuentra el verbo DEBUG que se envían al servidor que ejecuta IIS, tomar el siguiente registro de verbo de DEPURACIÓN para obtener más información acerca de lo que está fallando exactamente:
% TMP %\Visual Studio Web Debugger.log

Cosas que debe hacer antes de implementar la depuración remota

  • Debe hacer referencia el equipo remoto mediante un nombre de equipo en lugar de una dirección IP.
  • El archivo Web.config de la aplicación ASP.NET no debe contener ningún error y el elemento de compilación debe tener el atributo de depuración establecido en True.
  • Como mínimo, los componentes de depuración remota de Visual Studio 2005 debe instalarse en el equipo remoto a menos que desee ejecutar Msvsmon.exe desde un recurso compartido remoto.

    Nota: Asegúrese de que comparta el directorio de programa de programa\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger y no sólo las subcarpetas dentro de él. Por ejemplo, si comparte sólo el x86 carpeta y, a continuación, ejecute Msvsmon.exe desde un recurso compartido remoto sin tener instalados los componentes de depuración remotos, recibirá el siguiente mensaje de error:
    Error message
  • Asegúrese de que un servidor de seguridad no está bloqueando la depuración remota. Si habilita un servidor de seguridad y está bloqueando la ejecución, recibirá el siguiente mensaje de error:
    Error message
  • La configuración de seguridad del sitio debe permitir la autenticación de Windows integrada. El sitio también puede permitir el acceso anónimo.
  • Asegúrese de que el Monitor de depuración remota se ejecuta en el servidor remoto. Si no se ejecuta Msvsmon.exe, recibirá el siguiente mensaje de error:
    Error message

Vínculos relacionados

Errores de depuración remota y solución de problemas
http://msdn2.microsoft.com/en-us/library/2ys11ead.aspx

Cómo especificar una versión de.NET Framework para la depuración
http://msdn2.microsoft.com/en-us/library/ms241897.aspx
908099 cómo activar la depuración remota de Visual Studio 2005 en Windows XP con Service Pack 2

919823 puede recibir un mensaje de error cuando intenta conectarse a una instancia del Monitor de depuración remota en Visual Studio 2005

948040 problemas al intentar configurar la depuración remota entre dominios de red

Como siempre, no dude en enviar ideas sobre temas que desea examinarse en futuras columnas o en la Base de conocimientos mediante la
Preguntar para el formulario.
Propiedades

Id. de artículo: 910448 - Última revisión: 9 ene. 2017 - Revisión: 1

Comentarios