Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ferramentas de Depuração para Windows, suporta depuração de kernel através de uma rede. Este artigo descreve como configurar a depuração de rede automaticamente usando a ferramenta de configuração kdnet.exe .
O computador que executa o depurador é chamado de computador host e o computador que está sendo depurado é chamado de computador de destino. O computador host deve estar executando o Windows 7 ou posterior e o computador de destino deve estar executando o Windows 8 ou posterior.
Determinar o endereço IP do computador host
Confirme se os PCs de destino e host estão conectados a um hub ou switch de rede usando um cabo de rede apropriado.
No computador host, abra um prompt de comando e entre
IPConfigpara exibir a configuração IP.Na saída do comando, localize o endereço IPv4 do adaptador Ethernet.
...
Ethernet adapter Ethernet:
...
IPv4 Address. . . . . . . . . . . : <YourHostIPAddress>
...
Como alternativa, use Configurações, Rede & internet, Ethernet para coletar informações de endereço IPv4.
- Anote o endereço IPv4 do adaptador de rede que você pretende usar para depuração.
Configurar os computadores host e de destino
Use o utilitário kdnet.exe para configurar automaticamente as configurações do depurador no PC de destino seguindo estas etapas.
Confirme se as Ferramentas de Depuração do Windows estão instaladas no sistema host. Para obter informações sobre como baixar e instalar as ferramentas de depurador, consulte Ferramentas de depuração para Windows.
Localize os arquivoskdnet.exe e VerifiedNICList.xml . Por padrão, os arquivos estão localizados no seguinte local:
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64Estas instruções pressupõem que ambos os PCs estão a executar uma versão de 64 bits do Windows no destino e no anfitrião. Se esse não for o caso, a melhor abordagem é executar o mesmo tipo de arquitetura de ferramentas no host que são executadas pelo destino. Por exemplo, se o destino estiver executando o Windows de 32 bits, execute uma versão 32 do depurador no host. Para obter mais informações, consulte Escolher entre as ferramentas de depuração de 32 bits ou 64 bits.
No computador host, copie os dois arquivos para um compartilhamento de rede ou pen drive para que estejam disponíveis no computador de destino.
No computador de destino, crie um diretório C:\KDNET e copie os arquivos kdnet.exe e VerifiedNICList.xml para esse diretório.
Importante
Antes de usar o kdnet.exe para alterar as informações de inicialização, talvez seja necessário suspender temporariamente os recursos de segurança do Windows, como BitLocker e Inicialização Segura, no computador de teste. Reative esses recursos de segurança quando o teste estiver concluído e gerencie adequadamente o PC de teste quando os recursos de segurança estiverem desativados.
No computador de destino, abra um prompt de comando como administrador. Insira este comando para verificar se o computador de destino tem um adaptador de rede suportado:
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.Quando a saída do kdnet.exe indica que o adaptador de rede do alvo é suportado, podes continuar.
Digite o seguinte comando para definir o endereço IP do sistema host e gerar uma chave de conexão exclusiva. Use o endereço IP ou o nome do sistema host. Escolha um endereço de porta exclusivo para cada par de destino/host com o qual você trabalha, dentro do intervalo recomendado de 50000-50039.
C:\KDNET>kdnet.exe <HostComputerIPAddress> <YourDebugPort> Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection. Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874pCopie a chave retornada num ficheiro de bloco de notas .txt.
Conecte o WinDbg ao sistema alvo para depuração do kernel
No computador host, abra o WinDbg. No menu File, selecione Kernel Debug. Na caixa de diálogo de Depuração do kernel, abra a guia Rede. Cole o número da porta e a chave que foram salvos anteriormente no arquivo .txt do bloco de notas. Selecione OK.
Você também pode iniciar uma sessão WinDbg abrindo um prompt de comando e digitando o seguinte comando. <YourPort> é a porta que você selecionou anteriormente, e <YourKey> é a chave que foi retornada por kdnet.exe anteriormente. Cola a chave que guardaste anteriormente no ficheiro .txt do Bloco de Notas.
windbg.exe -k -d net:port=<YourDebugPort>,key=<YourKey>
O parâmetro opcional -d mostrado no exemplo, permite a invasão antecipada. Para obter mais informações, consulte Opções de linha de comando do WinDbg.
Se você for solicitado a permitir que o WinDbg acesse a porta através do firewall, permita que o WinDbg acesse a porta para todos os três dos diferentes tipos de rede.
Neste ponto, o depurador aguarda que o alvo se reconecte. O texto é exibido na janela de comando do depurador. Esse texto será semelhante ao seguinte:
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...
Reinicie o PC de destino
Quando o depurador estiver na fase de «Aguardando para reconectar...», reinicie o computador de destino. Uma maneira de reiniciar o PC é usar esse comando no prompt de comando de um administrador.
shutdown -r -t 0
Depois que o PC de destino for reiniciado, o depurador deve se conectar automaticamente.
Dicas de solução de problemas
A depuração de aplicativos deve ser permitida por meio de um firewall
No lado do host, onde o depurador está sendo executado, todos os tipos de rede devem ser habilitados para permitir que o depurador se comunique com o destino através do firewall.
Use o Painel de Controle para permitir o acesso através do firewall.
Abra Painel de Controle > Sistema e Segurança e selecione Permitir um aplicativo através do Firewall do Windows.
(WinDbg) Na lista de aplicações, localize processo do motor WinDbg (TCP) (todos).
(WinDbg (Clássico)) Na lista de aplicativos, localize Windows GUI Symbolic Debugger e Windows Kernel Debugger.
Use as caixas de seleção para permitir esses dois aplicativos através de todos os três tipos de rede diferentes.
Role para baixo e selecione OK para salvar as alterações do firewall. Reinicie o depurador.
Usar ping para testar a conectividade
Se o depurador atingir o tempo limite e não se conectar, use o comando ping no PC de destino para verificar a ligação.
C:\>Ping <HostComputerIPAddress>
Escolher uma porta para a depuração de rede
Se o depurador ultrapassar o tempo limite e não conseguir se conectar, pode ser porque o número de porta padrão de 50000 já está em uso ou está bloqueado.
Você pode escolher qualquer número de porta de 49152 a 65535. O intervalo recomendado é entre 50000 e 50039. A porta que escolher é aberta para acesso exclusivo pelo depurador que está a correr no computador anfitrião.
O intervalo de números de porta que podem ser usados para depuração de rede poderá ser limitado pela política de rede da sua empresa. Para determinar se a política da sua empresa limita o intervalo de portas que podem ser usadas para depuração de rede, consulte os administradores de rede.
Adaptadores de rede suportados
Se "Depuração de rede não é suportada em nenhuma das NICs nesta máquina" for exibido quando você executar kdnet.exe, o adaptador de rede não é suportado.
O computador host pode usar qualquer adaptador de rede, mas o computador de destino deve usar um adaptador de rede suportado pelas Ferramentas de Depuração para Windows. Para obter uma lista de adaptadores de rede suportados, consulte NICs Ethernet suportadas para depuração do kernel de rede no Windows 10 e NICs Ethernet suportadas para depuração do kernel de rede no Windows 8.1.
Habilitar outros tipos de depuração
A partir da Atualização de outubro de 2020 do Windows 10 (20H2), as seguintes opções são suportadas para habilitar quatro tipos de depuração:
b - permite a depuração do bootmgr. Consulte BCDEdit /bootdebug.
w - permite a depuração do winload. Consulte BCDEdit /bootdebug.
h - permite a depuração do hipervisor. Consulte BCDEdit /hypervisorsettings.
k - permite a depuração do kernel. Consulte Introdução ao WinDbg (modo kernel).
Qualquer combinação de tipos de depuração pode ser especificada.
Se nenhum tipo de depuração for especificado, a depuração do kernel será ativada.
Se o hipervisor e a depuração do kernel estiverem habilitados, a porta do hipervisor será definida como <YourDebugPort> + 1.
Exemplo de utilização
Use a opção - bkw para ativar a depuração de bootmgr, kernel e winload.
C:\>kdnet.exe <HostComputerIPAddress> <YourDebugPort> -bkw
Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
Resumo dos tipos de opções de depuração
| Opção KNDET | Descrição | Comando set equivalente |
|---|---|---|
| b | Permite a depuração do Bootmgr | bcdedit /bootdebug {bootmgr} ligado |
| h | Permite a depuração do hipervisor | bcdedit /set hypervisordebug ligado |
| k | Permite a depuração do kernel | bcdedit /debug em |
| w | Permite a depuração do Winload | bcdedit /bootdebug on |
Especificar parâmetros de barramento
Se o kdnet não conseguir determinar automaticamente os parâmetros de barramento para o seu transporte, especifique-os na linha de comando usando a opção /busparams com esta sintaxe.
kdnet.exe /busparams [b.d.f] [host] [port] [-[b][h][k][w]]
b.d.f Especifica os parâmetros de barramento do dispositivo a ser configurado.
Utilize o Gestor de Dispositivos no computador de destino para determinar o barramento PCI, o dispositivo e os números de função do adaptador que pretende usar para depuração. Para parâmetros de barramento, digite b. d. f onde b, d e f são o número do barramento, o número do dispositivo e o número da função do adaptador. Esses valores são exibidos no Gerenciador de dispositivos em Localização na guia Geral .
Por exemplo:
C:\>kdnet.exe /busparams 0.29.7 <HostComputerIPAddress> <YourDebugPort> -bkw