Compartir a través de


Depuración remota de un proyecto de C# o Visual Basic en Visual Studio

Para depurar una aplicación de Visual Studio que se ha implementado en un equipo diferente, instale y ejecute las herramientas remotas en el equipo donde implementó la aplicación, configure el proyecto para conectarse al equipo remoto desde Visual Studio y, a continuación, ejecute la aplicación.

Recorte de pantalla de los componentes del depurador remoto.

Para obtener información sobre la depuración remota de aplicaciones universales de Windows (UWP), consulta Depurar un paquete de aplicación instalado.

Requisitos

El depurador remoto es compatible con Windows 7 y versiones más recientes y en versiones de Windows Server a partir de Windows Server 2008 Service Pack 2. Para obtener una lista completa de los requisitos, consulte Requirements.

Nota

La depuración entre dos equipos conectados a través de un proxy no se admite. La depuración a través de una conexión de alta latencia o bajo ancho de banda, como Internet por acceso telefónico, o a través de Internet entre países o regiones, no se recomienda y puede producir errores o ser inaceptablemente lenta.

Descarga e instalación de las herramientas remotas

En el dispositivo o servidor remoto en el que desea depurar, en lugar de en el equipo de Visual Studio, descargue e instale la versión correcta de las herramientas remotas desde los vínculos de la tabla siguiente.

  • Descargue la actualización más reciente de las herramientas remotas para la versión de Visual Studio. Las versiones anteriores de las herramientas remotas no son compatibles con versiones posteriores de Visual Studio. (Por ejemplo, si usa Visual Studio 2019, descargue la actualización más reciente de las herramientas remotas para Visual Studio 2019. En este escenario, no descargue las herramientas remotas para Visual Studio 2022).
  • Descargue las herramientas remotas con la misma arquitectura que la máquina en la que los va a instalar. Por ejemplo, si desea depurar aplicaciones x86 en un equipo remoto que ejecuta un sistema operativo x64, instale las herramientas remotas x64. Para depurar aplicaciones x86, ARM o x64 en un sistema operativo ARM64, instale las herramientas remotas arm64.
Versión Link Notas
Visual Studio 2022 Herramientas remotas Compatible con todas las versiones de Visual Studio 2022. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. En versiones anteriores de Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda con la descarga de las herramientas remotas.
Visual Studio 2019 Herramientas remotas Las herramientas remotas para Visual Studio 2019 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. En versiones anteriores de Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda con la descarga de las herramientas remotas.
Visual Studio 2017 Herramientas remotas Las herramientas remotas para Visual Studio 2017 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas.
Visual Studio 2015 Herramientas remotas Las herramientas remotas para Visual Studio 2015 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas.
Visual Studio 2013 Herramientas remotas Página de descarga en la documentación de Visual Studio 2013
Visual Studio 2012 Herramientas remotas Página de descarga en la documentación de Visual Studio 2012
Versión Link Notas
Visual Studio 2019 Herramientas remotas Compatible con todas las versiones de Visual Studio 2019. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. En Windows Server, consulte el paso "Desbloquear la descarga de archivos" para obtener ayuda con la descarga de las herramientas remotas. Para obtener la última versión de las herramientas remotas, abra el documento de Visual Studio 2022.
Visual Studio 2017 Herramientas remotas Compatible con todas las versiones de Visual Studio 2017. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64. En Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda para descargar las herramientas remotas.
Visual Studio 2015 Herramientas remotas Las herramientas remotas para Visual Studio 2015 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. En Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda con la descarga de las herramientas remotas.
Visual Studio 2013 Herramientas remotas Página de descarga en la documentación de Visual Studio 2013
Visual Studio 2012 Herramientas remotas Página de descarga en la documentación de Visual Studio 2012

Puede ejecutar el depurador remoto mediante la copia de msvsmon.exe en el equipo remoto, en lugar de instalar las herramientas remotas. Sin embargo, el Asistente para configuración del depurador remoto (rdbgwiz.exe) solo está disponible cuando se instalan las herramientas remotas. Es posible que tenga que usar el asistente de configuración si desea ejecutar el depurador remoto como servicio. Para más información, vea (Opcional) Configuración del depurador remoto como servicio.

Nota

  • Para depurar aplicaciones de Windows 10 o posteriores en dispositivos ARM, use ARM64, que está disponible con la versión más reciente de las herramientas remotas.
  • Para depurar aplicaciones de Windows 10 en dispositivos Windows RT, use ARM, que solo está disponible en la descarga de herramientas remotas de Visual Studio 2015.
  • Para depurar aplicaciones x64 en un sistema operativo ARM64, ejecute el archivo x64 msvsmon.exe instalado con las herramientas remotas ARM64.

Sugerencia

En algunos escenarios, puede ser más eficaz ejecutar el depurador remoto desde un recurso compartido de archivos. Para obtener más información, vea (Opcional) Ejecución del depurador remoto desde un recurso compartido de archivos.

Configurar el depurador remoto

  1. En el equipo remoto, busque e inicie Remote Debugger en el menú Inicio.

    Si no tiene permisos administrativos en el equipo remoto, haga clic con el botón derecho en la aplicación Remote Debugger y seleccione Ejecutar como administrador. De lo contrario, simplemente empiece normalmente.

    Si planea conectarse a un proceso que se ejecuta como administrador o se ejecuta en otra cuenta de usuario (como IIS), haga clic derecho en la aplicación Depurador Remoto y seleccione Ejecutar como administrador. Para obtener más información, vea Ejecución del depurador remoto como administrador.

  2. La primera vez que inicie el depurador remoto (o antes de configurarlo), aparecerá el asistente Configuración de Depuración Remota.

    En la mayoría de los escenarios, elija Siguiente hasta que llegue a la página Configurar firewall de Windows del asistente.

    Captura de pantalla de la configuración del depurador remoto.

    Captura de pantalla de la configuración del depurador remoto.

    Si la API de servicios web de Windows no está instalada, que solo sucede en Windows Server 2008 R2, seleccione el botón Instalar .

  3. Seleccione al menos un tipo de red en el que quiera usar las herramientas remotas. Si los equipos están conectados a través de un dominio, debe elegir el primer elemento. Si los equipos están conectados a través de un grupo de trabajo o grupo principal, elija el segundo o tercer elemento según corresponda.

    A continuación, seleccione Finalizar para iniciar el depurador remoto.

    A continuación, seleccione Configurar depuración remota para iniciar el depurador remoto.

  4. Cuando se completa la configuración, aparecerá la ventana Remote Debugger.

    Captura de pantalla de la ventana del depurador remoto

    Captura de pantalla de la ventana del depurador remoto

    El depurador remoto ahora está esperando una conexión. Use el nombre del servidor y el número de puerto que se muestran para establecer la configuración de conexión remota en Visual Studio.

Para detener el depurador remoto, seleccione Archivo>Salir. Puede reiniciarlo desde el menú Inicio o desde la línea de comandos:

<Remote debugger installation directory>\msvsmon.exe

Nota

Si necesita agregar permisos para usuarios adicionales, cambie el modo de autenticación o el número de puerto del depurador remoto, consulte Configurar el depurador remoto.

Depuración remota del proyecto

El depurador no puede implementar aplicaciones de escritorio de Visual C# o Visual Basic en una máquina remota, pero todavía puede depurarlas de forma remota como se indica a continuación. En el procedimiento siguiente se supone que quiere depurarlo en un equipo denominado MJO-DL, como se muestra en la ilustración siguiente.

  1. Cree un proyecto de WPF denominado MyWpf.

    Si intenta depurar de forma remota una aplicación MAUI en lugar de WPF, consulte Depuración remota de una aplicación .NET MAUI en Windows.

  2. Establezca un punto de interrupción en algún lugar del código al que se pueda acceder fácilmente.

    Por ejemplo, puede establecer un punto de interrupción en un controlador de botón. Para ello, abra MainWindow.xaml, agregue un control Button desde el Cuadro de herramientas y, a continuación, haga doble clic en el botón para abrir su controlador.

  3. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y elija Propiedades.

  4. En la página Propiedades, elija la pestaña Depurar.

    Para los proyectos de C# destinados a .NET Core o .NET 5+, a partir de Visual Studio 2022, elija la interfaz de usuario Debug launch profiles (Depurar perfiles de inicio ) en la pestaña Depurar para configurar las opciones de depuración remota.

    Captura de pantalla de la opción Abrir la UI de perfiles de inicio de depuración en las propiedades de proyecto de Visual Studio para C# y .NET.

    De lo contrario, para .NET Framework, cambie la configuración de depuración remota directamente en la pestaña Depurar.

    Captura de pantalla de la pestaña Depurar en las propiedades del proyecto de Visual Studio. La propiedad Usar máquina remota se establece en

    Captura de pantalla de la pestaña Depurar en las propiedades del proyecto de Visual Studio. La propiedad Usar máquina remota se establece en

  5. Asegúrese de que el directorio de trabajo cuadro de texto está vacío.

  6. Elija Usar equipo remoto y escriba nombre_del_equipo:puerto en el cuadro de texto. (El número de puerto se muestra en la ventana del depurador remoto. El número de puerto aumenta 2 en cada versión de Visual Studio).

    En este ejemplo, use:

    MJO-DL:4026 en Visual Studio 2022

    MJO-DL:4024 en Visual Studio 2019

  7. Asegúrese de que la opción Habilitar la depuración de código nativo no está seleccionada.

  8. Compile el proyecto.

  9. Cree una carpeta en el equipo remoto en la misma ruta de acceso que la carpeta Depurar del equipo de Visual Studio: <ruta de acceso de origen>\MyWPF\MyWPF\bin\Debug.

  10. Copie el archivo ejecutable que acaba de compilar desde el equipo de Visual Studio en la carpeta recién creada en el equipo remoto.

    Cautela

    No realice cambios en el código o recompile (o debe repetir este paso). El archivo ejecutable que copió en la máquina remota debe coincidir exactamente con su fuente y símbolos locales.

    Puede copiar el proyecto manualmente, usar XCopy, Robocopy, PowerShell u otras opciones.

  11. Asegúrese de que el depurador remoto se ejecuta en el equipo de destino (si no es así, busque Depurador remoto en el menú Inicio). La ventana del depurador remoto tiene este aspecto.

    Captura de pantalla de la ventana del depurador remoto para VS 2022.

    Captura de pantalla de la ventana del depurador remoto para VS 2019.

  12. En Visual Studio, inicie la depuración (Depurar > Iniciar depuracióno F5).

  13. Si se le solicita, escriba las credenciales de red para conectarse a la máquina remota.

    Las credenciales necesarias varían en función de la configuración de seguridad de la red. Por ejemplo, en un equipo de dominio, puede escribir el nombre de dominio y la contraseña. En un equipo que no sea de dominio, puede escribir el nombre de la máquina y un nombre de cuenta de usuario válido, como MJO-DL\name@something.com, junto con la contraseña correcta.

    Debería ver que la ventana principal de la aplicación WPF está abierta en el equipo remoto.

  14. Si es necesario, tome medidas para llegar al punto crítico. Debe ver que el punto de interrupción está activo. Si no es así, los símbolos de la aplicación no se han cargado. Vuelva a intentarlo y, si esto no funciona, obtenga información sobre cómo cargar símbolos y cómo solucionarlos en Descripción de los archivos de símbolos y la configuración de símbolos de Visual Studio.

  15. En la máquina de Visual Studio, verá que la ejecución se detiene en el punto de interrupción.

    Si tiene algún archivo que no sea de código que necesite usar la aplicación, debe incluirlos en el proyecto de Visual Studio. Cree una carpeta de proyecto para los archivos adicionales (en el Explorador de soluciones, haga clic en Agregar > Nueva carpeta). Después, agregue los archivos a la carpeta (en el Explorador de Soluciones de , haga clic en Agregar > Elemento existente, luego seleccione los archivos). En la página Propiedades de cada archivo, establezca Copiar en el directorio de resultado en Copiar siempre.

Depuración remota de una aplicación MAUI de .NET en Windows

Las aplicaciones .NET MAUI son aplicaciones empaquetadas que deben registrarse cuando se implementan, no solo se copian en una máquina remota. Para depurar de forma remota, puede implementar una versión desempaquetada de la aplicación.

Use uno de los métodos siguientes para depurar de forma remota:

  • Publique la aplicación en el dispositivo remoto como una aplicación desempaquetada mediante los pasos descritos en el apartado Utilice la línea de comandos para publicar aplicaciones .NET MAUI desempaquetadas para Windowsy, a continuación, siga los pasos descritos en este artículo para depurar de forma remota. (Omita los pasos para copiar la aplicación).

  • Siga los pasos de este artículo, incluidos los pasos para crear un perfil de inicio de depuración para el proyecto. Antes de iniciar la depuración, edite manualmente el archivo launchSettings.json, reemplazando el valor Project commandNamepor MsixPackage, como se muestra aquí.

    "Remote Profile": {
      "commandName": "MsixPackage",
      "remoteDebugEnabled": true,
      "remoteDebugMachine": "170.200.20.22",
      "authenticationMode": "None"
    }
    

    Al iniciar la depuración, este método implementa primero una versión desempaquetada de la aplicación y la inicia.

    Nota

    No se puede editar launchSettings.json en el cuadro de diálogo Perfil de inicio de depuración una vez que cambie el valor a MsixPackage.

Configurar la depuración con símbolos remotos

Puede depurar su código con los símbolos que se generan en el equipo de Visual Studio. El rendimiento del depurador remoto es mucho mejor cuando se usan símbolos locales. Si tiene que usar símbolos remotos, deberá indicar al monitor de depuración remota que busque símbolos en el equipo remoto.

Puede usar el siguiente modificador de línea de comandos msvsmon para usar símbolos remotos para código administrado: Msvsmon /FallbackLoadRemoteManagedPdbs

Para más información, vea la ayuda de depuración remota (presione F1 en la ventana del depurador remoto, o haga clic en Ayuda > Uso).