Compartir a través de


Configuración automática de la depuración del kernel de red KDNET

Herramientas de depuración para Windows admite la depuración de kernel a través de una red. This article describes how to set up network debugging automatically by using the KDNET (kdnet.exe) setup tool.

The computer that runs the debugger is the host computer, and the computer being debugged is the target computer. The host computer must run Windows 7 or later, and the target computer must run Windows 8 or later.

Determinación de la dirección IP del equipo host

Siga estos pasos para buscar la dirección IP del equipo host:

  1. Confirme que los equipos host y de destino están conectados a un centro de red o un conmutador con un cable de red adecuado.

  2. On the host computer, open a command prompt and enter IPConfig to display the IP configuration.

  3. En la salida del comando, busque la dirección IPv4 del adaptador Ethernet para el equipo, <Host-IP-Address>:

    ...
    Ethernet adapter Ethernet:
    ...
    IPv4 Address. . . . . . . . . . . : <Host-IP-Address>
    ...
    

    Alternatively, use Settings>Network & internet>Ethernet to gather the IPv4 address information.

  4. Anote la dirección IPv4 del adaptador de red que quiere usar para la depuración.

Configurar el host y los equipos de destino

Use la utilidad KDNET para configurar automáticamente los valores del depurador en el equipo de destino con estos pasos.

Note

En este procedimiento se supone que tanto el host como los procesos de destino ejecutan una versión de 64 bits de Windows. Si la configuración es diferente, el mejor enfoque es ejecutar el mismo "bit" de herramientas en el host que se ejecuta en el destino. Por ejemplo, si el destino ejecuta Windows de 32 bits, ejecute una versión de 32 bits del depurador en el host. Para obtener más información, consulte Elección de herramientas de depuración de 32 o 64 bits.

  1. Confirme que las herramientas de depuración de Windows están instaladas en el equipo host. Para obtener información sobre cómo descargar e instalar las herramientas, vea Herramientas de depuración para Windows.

  2. Locate the kdnet.exe and VerifiedNICList.xml files on the host computer. De forma predeterminada, los archivos se encuentran en la carpeta C:\Archivos de programa (x86)\Windows Kits\10\Debuggers\x64 .

  3. Copie los dos archivos del equipo host en un recurso compartido de red o una unidad digital para que estén disponibles para el equipo de destino.

  4. On the target computer, create a C:\KDNET folder, and copy the kdnet.exe and VerifiedNICList.xml files to the folder.

    Important

    Before you use kdnet.exe to change boot information, you might need to temporarily suspend Windows security features on the test PC, such as BitLocker and Secure Boot. Después de finalizar las pruebas, vuelva a habilitar las características de seguridad. Asegúrese de administrar correctamente el equipo de prueba cuando se deshabilite las características de seguridad.

  5. En el equipo de destino, abra un símbolo del sistema como administrador. Escriba el siguiente comando para comprobar que el equipo de destino tiene un adaptador de red compatible:

    C:\KDNET>kdnet.exe
    Network debugging is supported on the following NICs:
    busparams=1.0.0, Broadcom NetXtreme Gigabit Ethernet, Plugged in.  
    This Microsoft hypervisor supports using KDNET in guest VMs.
    

    After the output from the KDNET (kdnet.exe) command shows the network adapter supported on the target, you can proceed.

  6. Escriba el siguiente comando para establecer la dirección IP del sistema host y generar una clave de conexión única.

    • Para el <Host-Computer-IP-Address> valor, use la dirección IP o el nombre del sistema host.
    • Para el <Debug-Port> valor, escriba una dirección de puerto única para cada par de destino o host con el que trabaje, dentro del intervalo recomendado de 50000-50039.
    C:\KDNET>kdnet.exe <Host-Computer-IP-Address> 
    
    Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
    Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
    
  7. Save the key value returned by the KDNET command in a notepad .txt file.

Conectar WinDbg al destino para la depuración de kernel

Conecte WinDbg al equipo de destino para la depuración de kernel siguiendo estos pasos:

  1. On the host computer, open WinDbg, and select File>Kernel Debug.

  2. In the Kernel Debugging dialog, select the Net tab.

  3. Paste the port number and key from the notepad.txt file into the tab fields, and select OK.

You can also start the WinDbg session from the command line by using the windbg.exe command and the values you saved in the notepad.txt file.

windbg.exe -k -d net:port=<Debug-Port>,key=<KDNET-Key> 

El <Debug-Port> valor es el puerto que seleccionó anteriormente. El <KDNET-Key> valor es la clave devuelta por KDNET. El parámetro opcional -d habilita la interrupción temprana. Para más información, vea Opciones de la línea de comandos de WinDbg.

Al iniciar la conexión, WinDbg puede solicitarle que permita el acceso al puerto a través del firewall:

Captura de pantalla de alerta de seguridad de Windows con selecciones para permitir el acceso a los tres tipos de red.

In the message dialog, select each checkbox to enable access for all three network types, and select Allow access.

En este momento, el depurador espera a que el destino se vuelva a conectar y muestre el progreso en la ventana de comandos del depurador:

Microsoft (R) Windows Debugger Version 1.0.1908.30002 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...

Reiniciar del equipo de destino

Cuando el depurador muestra "Esperando a volver a conectarse..." message, reinicie el equipo de destino.

Una manera de reiniciar el equipo es ejecutar el siguiente comando en un símbolo del sistema como administrador:

shutdown -r -t 0 

Una vez reiniciado el equipo de destino, el depurador debe conectarse automáticamente.

Troubleshoot issues

Si tiene problemas para establecer la conexión de puerto o iniciar la sesión de depuración, revise las siguientes sugerencias de solución de problemas.

Permitir la depuración de aplicaciones a través del firewall

En el lado del host, donde se ejecuta el depurador, se deben habilitar todos los tipos de red para permitir que el depurador se comunique con el destino a través del firewall.

Use the Windows Control Panel to allow access through the firewall.

  1. Open Control Panel>System and Security and select the appropriate Allow an app through Windows Firewall options:

    • WinDbg: In the list of applications, locate the WinDbg engine process (TCP) (all) option.

    • WinDbg (Classic): In the list of applications, locate the Windows GUI Symbolic Debugger and Windows Kernel Debugger options.

  2. Select the checkboxes to allow all debugging applications through all three network types.

  3. Select OK to save the firewall changes, and then restart the debugger.

    Captura de pantalla de la configuración del firewall del Panel de control que muestra el depurador simbólico de gui de Windows y las aplicaciones del depurador de kernel de Windows con los tres tipos de red habilitados.

Uso de ping para probar la conectividad

Si el depurador agota el tiempo de espera y no se conecta, use el ping comando en el equipo de destino para comprobar la conectividad:

C:\>Ping <HostComputerIPAddress>

Elección de un puerto para la depuración de red

Si el depurador agota el tiempo de espera y no se conecta, puede deberse a que el número de puerto 50000 predeterminado ya está en uso o está bloqueado.

Puede elegir cualquier número de puerto entre 49152 y 65535, ambos incluidos. El intervalo recomendado es de 50000 a 50039. El puerto que elija se abre para el acceso exclusivo por el depurador que se ejecuta en el equipo host.

Una directiva de red de empresa podría limitar el intervalo de números de puerto disponibles para la depuración de red. Para determinar si la directiva de su empresa limita el intervalo de puertos para la depuración de red, consulte con los administradores de red.

Búsqueda de adaptadores de red compatibles

Si ve que la depuración de red no se admite en ninguna de las NIC de este mensaje de máquina al ejecutar KDNET, no se admite el adaptador de red.

El equipo host puede usar cualquier adaptador de red, pero el equipo de destino debe usar un adaptador de red compatible con herramientas de depuración para Windows. Para obtener una lista de los adaptadores de red admitidos, consulte los siguientes artículos:

Habilitar otros tipos de depuración

La actualización de octubre de 2020 de Windows 10 (20H2) y versiones posteriores admiten cuatro tipos de depuración:

KDNET option Debugging type Comando set equivalente More information
b Bootmgr debugging bcdedit /bootdebug {bootmgr} on BCDEdit /bootdebug
w Winload debugging bcdedit /bootdebug on BCDEdit /bootdebug
k Kernel debugging bcdedit /debug on Introducción a WinDbg (modo kernel)
h Hypervisor debugging bcdedit /set hypervisordebug on BCDEdit /hypervisorsettings

Estos son los detalles sobre cómo trabajar con los tipos de depuración:

  • Puede especificar cualquier combinación de tipos de depuración.
  • Si no especifica un tipo de depuración, el sistema habilita la depuración del kernel.
  • Si habilita tanto el hipervisor como la depuración del kernel, el puerto del hipervisor se establece <Debug-Port> en + 1.

Ejemplo: Habilitación de la depuración bootmgr, kernel y winload

En el ejemplo siguiente se usa la - bkw opción para habilitar la depuración bootmgr, kernel y winload:

C:\>kdnet.exe <HostComputerIPAddress> <YourDebugPort> -bkw

Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p

Especificar parámetros de bus

Si KDNET no puede determinar automáticamente los parámetros de bus para el transporte, puede especificar los parámetros en la línea de comandos con la /busparams opción :

kdnet.exe /busparams [b.d.f] [host] [port] [-[b][h][k][w]]

La b.d.f parte especifica los parámetros de bus para que el dispositivo se configure.

Use Device Manager on the target computer to determine the PCI bus number (b), the device number (d), and the function number (f) of the adapter you want to use for debugging. These values are available in the General tab under the Location setting.

For example:

C:\>kdnet.exe /busparams 0.29.7 <Host-Computer-IP-Address> <Debug-Port> -bkw