Compartilhar via


Escolhendo o melhor método de depuração remota

Há dois métodos principais de execução de depuração remota, bem como vários métodos adicionais e um grande número de métodos de combinação.

Aqui estão algumas dicas para ajudá-lo a escolher a melhor técnica.

  • A depuração remota por meio do depurador geralmente é o melhor método. Se você simplesmente tiver um servidor e um cliente e eles puderem se conectar livremente uns aos outros, os mesmos binários do depurador serão instalados no cliente e no servidor, e o técnico de depuração que estará operando o cliente poderá falar com alguém na sala com o servidor, esse é o método recomendado.

    O cliente e o servidor podem estar executando qualquer versão do Windows. Eles não precisam estar executando a mesma versão que os outros.

    Se o cliente não conseguir enviar uma solicitação de conexão para o servidor, mas o servidor puder enviar uma solicitação ao cliente, você poderá usar a depuração remota por meio do depurador com uma conexão inversa usando o parâmetro clicon .

  • A depuração remota por meio de remote.exe é usada para controlar remotamente uma janela do Prompt de Comando. Ele pode ser usado para controlar remotamente KD, CDB ou NTSD. Ele não pode ser usado com WinDbg.

    Se o cliente não tiver cópias dos binários do depurador, você deverá usar o método remote.exe.

  • Um servidor de processo ou um servidor de conexão KD poderá ser usado se o técnico de depuração não conseguir falar com alguém na sala com o servidor. Todo o trabalho de depuração real é feito pelo cliente (chamado de cliente inteligente); isso remove a necessidade de ter uma segunda pessoa presente no próprio servidor.

    Os servidores de processo são usados para depuração no modo de usuário; Os servidores de conexão KD são usados para depuração no modo kernel. Além dessa distinção, eles se comportam de maneiras semelhantes.

    Esse método também será útil se o computador em que o servidor será executado não puder lidar com cargas de processo pesadas ou se o técnico que executa o cliente tiver acesso a arquivos de símbolo ou arquivos de origem confidenciais e não puderem ser acessados pelo servidor. No entanto, esse método não é tão rápido ou eficiente quanto a depuração remota por meio do depurador. Esse método não pode ser usado para depuração de arquivo de despejo.

    Consulte Servidores de Processo (Modo de Usuário) e Servidores de Conexão KD (Modo Kernel) para obter detalhes.

  • Um repetidor é um servidor proxy leve que retransmite dados entre dois computadores. Você pode adicionar um repetidor entre o cliente e o servidor se estiver executando a depuração remota por meio do depurador ou se estiver usando um servidor de processo.

    O uso de um repetidor poderá ser necessário se o cliente e o servidor não puderem se comunicar diretamente entre si, mas cada um pode acessar um computador externo. Você também pode usar conexões inversas com repetidores. É até possível usar dois repetidores em uma linha, mas isso raramente é necessário.

    Confira Repetidores para obter detalhes.

  • Também é possível controlar o CDB (ou NTSD) do depurador de kernel. Esta é mais uma forma de depuração remota. Consulte Controlando o depurador de User-Mode do Depurador do Kernel para obter detalhes.

Variações em todos esses métodos são possíveis.

É possível encadear vários computadores juntos para aproveitar mais de um método de transporte. Você pode criar sequências de transporte complicadas que levam em conta onde o técnico está, onde os símbolos estão localizados e se há firewalls impedindo conexões em determinadas direções. Consulte Cenários avançados de depuração remota para obter alguns exemplos.

Você pode até mesmo executar a depuração remota em um único computador. Por exemplo, pode ser útil iniciar um servidor de processo de baixo privilégio e, em seguida, conectar-se a ele com um cliente inteligente de alto privilégio.