Depuración remota mediante WinDbg
La depuración remota implica dos depuradores que se ejecutan en dos ubicaciones diferentes. El depurador que realiza la depuración se denomina servidor de depuración. El segundo depurador, denominado cliente de depuración, controla la sesión de depuración desde una ubicación remota. Para establecer una sesión remota, primero debe configurar el servidor de depuración y, a continuación, activar el cliente de depuración.
El código que se está depurando podría ejecutarse en el mismo equipo que ejecuta 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 se está depurando se puede ejecutar en el mismo equipo que el servidor de depuración. Si el servidor de depuración está realizando la depuración en modo kernel, el código que se depura normalmente se ejecutaría en un equipo de destino independiente.
En el diagrama siguiente se muestra una sesión remota en la que el servidor de depuración, que se ejecuta en un equipo host, está realizando la depuración en modo kernel del código que se ejecuta en un equipo de destino independiente.
Importante
Hay consideraciones de seguridad importantes adicionales al usar la depuración remota, para obtener más información, incluida la información sobre cómo habilitar el modo seguro, consulta Seguridad durante la depuración remota y consideraciones de seguridad de para herramientas de depuración de Windows.
Hay varios protocolos de transporte que puede usar para una conexión de depuración remota: TCP, NPIPE, SPIPE, SSL y puerto COM. Supongamos que ha elegido usar TCP como protocolo y ha elegido usar WinDbg como cliente de depuración y el servidor de depuración. Puede usar el siguiente procedimiento para establecer una sesión remota de depuración en modo kernel.
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)).
Para interrumpir, elija Interrumpir en el menú Depurar o presionando CTRL-Break.
En la ventana Comando del depurador, escriba el siguiente comando.
.server tcp:port=5005
Nota El número de puerto 5005 es arbitrario. El número de puerto es su elección.
WinDbg responderá con una salida similar a la siguiente.
Server started. Client can connect with any of these command lines 0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
En el equipo remoto, abra WinDbg y elija Conectar a sesión remota en el menú Archivo .
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 proporcionado en la sección anterior, puede configurar una sesión de depuración remota en la línea de comandos. Supongamos que está configurado para 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 de 1394 en el canal 32. Puede usar el procedimiento siguiente para establecer una sesión de depuración remota:
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
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. Debe realizar la transición de los proyectos a otros transportes, como KDNET mediante Ethernet. Para obtener más información sobre ese transporte, vea Configurar la depuración automática del kernel de red KDNET.
Información adicional
Hay muchas maneras de establecer la depuración remota distinta de 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.