Partilhar via


Depuração remota usando WinDbg

A depuração remota envolve dois depuradores em execução em dois locais diferentes. O depurador que executa a depuração é chamado de servidor de depuração . O segundo depurador, chamado cliente de depuração, controla a sessão de depuração a partir de um local remoto. Para estabelecer uma sessão remota, você deve configurar o servidor de depuração primeiro e, em seguida, ativar o cliente de depuração.

O código que está sendo depurado pode estar sendo executado no mesmo computador que está executando o servidor de depuração ou pode estar sendo executado em um computador separado. Se o servidor de depuração estiver executando a depuração no modo de usuário, o processo que está sendo depurado poderá ser executado no mesmo computador que o servidor de depuração. Se o servidor de depuração estiver executando a depuração no modo kernel, o código que está sendo depurado normalmente será executado em um computador de destino separado.

O diagrama a seguir ilustra uma sessão remota em que o servidor de depuração, em execução em um computador host, está executando depuração em modo kernel de código que está sendo executado em um computador de destino separado.

Diagrama ilustrando computadores remotos, host e de destino conectados para depuração no modo kernel.

Importante

Há considerações de segurança adicionais importantes ao usar a depuração remota, para obter mais informações, incluindo informações sobre como habilitar o modo seguro, consulte Segurança durante a depuração remota e Considerações de segurança para ferramentas de depuração do Windows.

Há vários protocolos de transporte que você pode usar para uma conexão de depuração remota: TCP, NPIPE, SPIPE, SSL e COM Port. Suponha que você tenha escolhido usar TCP como o protocolo e tenha escolhido usar o WinDbg como o cliente de depuração e o servidor de depuração. Você pode usar o procedimento a seguir para estabelecer uma sessão remota de depuração no modo Kernel.

  1. No computador host, abra o WinDbg e estabeleça uma sessão de depuração em modo kernel com um computador de destino. (Consulte Live Kernel-Mode Debugging Using WinDbg (Classic).)

  2. Interrompa a execução escolhendo a opção Break no menu Debug ou pressionando CTRL-Break.

  3. Na janela de comando do depurador , digite o seguinte comando.

    .server tcp:port=5005

    Nota O número da porta 5005 é arbitrário. O número da porta é a sua escolha.

  4. WinDbg responderá com saída semelhante à seguinte.

    Server started.  Client can connect with any of these command lines
    0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
    
  5. No computador remoto, abra o WinDbg e escolha Conectar à Sessão Remota no menu Arquivo .

  6. Em Cadeia de Conexão, insira a seguinte cadeia.

    tcp:Port=5005,Server=YourHostComputer

    onde YourHostComputer é o nome do seu computador host, que está a executar o servidor de depuração.

    Selecione OK.

Usando a linha de comando

Como alternativa ao procedimento fornecido na seção anterior, você pode configurar uma sessão de depuração remota na linha de comando. Suponha que você esteja configurado para estabelecer uma sessão de depuração em modo kernel, entre um computador host e um computador de destino, através de um cabo 1394 no canal 32. Você pode usar o procedimento a seguir para estabelecer uma sessão de depuração remota:

  1. No computador host, digite o seguinte comando em uma janela do prompt de comando.

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

  2. No computador remoto, digite o seguinte comando em uma janela do prompt de comando.

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

    onde YourHostComputer é o nome do seu computador anfitrião, que está a executar o servidor de depuração.

Importante

O transporte 1394 está disponível para uso no Windows 10, versão 1607 e anteriores. Não está disponível em versões posteriores do Windows. Você deve fazer a transição dos seus projetos para outros transportes, como o KDNET utilizando Ethernet. Para obter mais informações sobre esse transporte, consulte Configurando a depuração automática do kernel da rede KDNET.

Informação Adicional

Há muitas maneiras de configurar a depuração remota para além das apresentadas neste artigo. Para obter informações completas sobre como configurar um servidor de depuração na janela de comando do WinDbg Depurador, consulte .server (Criar servidor de depuração). Para detalhes completos sobre como iniciar o WinDbg (e estabelecer a depuração remota) na linha de comandos, consulte Opções do WinDbg Command-Line.