Compartir a través de


Depuración remota mediante WinDbg

La depuración remota permite depurar código que se ejecuta en un equipo diferente. En esta guía se muestra cómo configurar un servidor de depuración y conectar un cliente de depuración para controlar la sesión de depuración de forma remota. Aprenderá los pasos exactos para configurar ambos componentes.

El código que está depurando podría ejecutarse en el mismo equipo que el servidor de depuración o podría ejecutarse en un equipo independiente. Si el servidor de depuración realiza la depuración en modo de usuario, el proceso que está depurando puede ejecutarse en el mismo equipo que el servidor de depuración. Si el servidor de depuración realiza la depuración en modo kernel, el código que se está depurando normalmente se ejecuta en un equipo de destino independiente.

En este diagrama se muestra cómo funcionan juntos los tres equipos en una configuración típica de depuración remota:

Captura de pantalla del diagrama que ilustra los equipos remotos, host y de destino conectados para la depuración en modo kernel.

Importante

La depuración remota expone tu sistema a posibles riesgos de seguridad. Antes de continuar:

Puede usar varios protocolos de transporte para una conexión de depuración remota: TCP, NPIPE, SPIPE, SSL y puerto COM. Supongamos que elige TCP como protocolo y WinDbg como el cliente de depuración y el servidor de depuración. Use el procedimiento siguiente para establecer una sesión de depuración en modo kernel remoto.

  1. En el equipo host, abra WinDbg y establezca una sesión de depuración en modo kernel con un equipo de destino. (Consulte Depuración en modo kernel en vivo mediante WinDbg (clásico)).

  2. Para interrumpir, elija Interrumpir en el menú Depurar o presionando CTRL-Break.

  3. En la ventana Comando del depurador, escriba el siguiente comando.

    .server tcp:port=5005

    Nota:

    El número de puerto 5005 es arbitrario. Elija el número de puerto.

  4. WinDbg responde con una salida similar a la siguiente. Copie la cadena de conexión: la necesitará para el paso siguiente.

    Server started.  Client can connect with any of these command lines
    0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
    
  5. En el equipo remoto, abra WinDbg y elija Conectar a sesión remota en el menú Archivo .

  6. En Cadena de conexión, escriba la cadena siguiente.

    tcp:Port=5005,Server=YourHostComputer

    donde YourHostComputer es el nombre del equipo host, que ejecuta el servidor de depuración.

    Seleccione Aceptar.

Uso de la línea de comandos

Como alternativa al procedimiento de la sección anterior, puede configurar una sesión de depuración remota en la línea de comandos. Supongamos que desea establecer una sesión de depuración en modo kernel entre un equipo host y un equipo de destino a través de un cable 1394 en el canal 32. Use el procedimiento siguiente para establecer una sesión de depuración remota:

  1. En el equipo host, escriba el siguiente comando en una ventana del símbolo del sistema.

    windbg -server tcp:port=5005 -k 1394:channel=32

  2. Espere a que se inicie el servidor. Verá un mensaje de confirmación con los detalles de conexión. Copie esta cadena de conexión antes de continuar con el paso 3.

  3. En el equipo remoto, escriba el siguiente comando en una ventana del símbolo del sistema.

    windbg -remote tcp:Port=5005,Server=YourHostComputer

    donde YourHostComputer es el nombre del equipo host, que ejecuta el servidor de depuración.

Importante

El transporte 1394 está disponible para su uso en Windows 10, versión 1607 y versiones anteriores. No está disponible en versiones posteriores de Windows. Realice la transición de los proyectos a otros protocolos de transporte, como KDNET usando Ethernet. Para obtener más información sobre ese transporte, vea Configurar la depuración automática del kernel de red KDNET.

Pasos siguientes

Puede establecer la depuración remota de muchas otras maneras que no sean las que se muestran en este tema.

  • Para obtener información completa sobre cómo configurar un servidor de depuración en la ventana comandos del depurador de WinDbg, vea .server (Crear servidor de depuración) .
  • Para obtener información completa sobre cómo iniciar WinDbg (y establecer la depuración remota) en la línea de comandos, consulte Opciones de la línea de comandos de WinDbg.