Escolher o Melhor Método de Depuração Remota
Existem 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 através do depurador geralmente é o melhor método. Se você simplesmente tem um servidor e um cliente e eles podem se conectar livremente uns aos outros, os mesmos binários do depurador sã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, este é 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 um do outro.
Se o cliente não conseguir enviar uma solicitação de conexão ao servidor, mas o servidor for capaz de enviar uma solicitação ao cliente, poderá usar a depuração remota através do depurador com uma conexão reversa utilizando o parâmetro clicon.
Depuração remota através 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 KDpode ser usado se o técnico de depuração não puder falar com alguém que esteja na sala com o servidor. Todo o trabalho de depuração real é feito pelo cliente (chamado de cliente inteligente); Isso elimina 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 em modo kernel. Para além desta distinção, comportam-se de forma semelhante.
Este método também é útil se o computador onde o servidor será executado não pode lidar com cargas de processo pesadas, ou se o técnico que executa o cliente tem acesso a arquivos de símbolo ou arquivos de origem que são confidenciais e não podem ser acessados pelo servidor. No entanto, esse método não é tão rápido ou eficiente quanto a depuração remota através do depurador. Esse método não pode ser usado para depuração de arquivo de despejo.
Consulte Process Servers (User Mode) e KD Connection Servers (Kernel Mode) 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 através do depurador ou se estiver usando um servidor de processo.
O uso de um repetidor pode ser necessário se o cliente e o servidor não conseguirem falar diretamente entre si, mas cada um pode acessar um computador externo. Você também pode usar conexões reversas com repetidores. É até possível usar dois repetidores seguidos, mas isso raramente é necessário.
Consulte Repetidores para obter detalhes.
Também é possível controlar CDB (ou NTSD) a partir do depurador do kernel. Esta é mais uma forma de depuração remota. Para mais detalhes, consulte Controlar o User-Mode Depurador a partir do Depurador do Kernel.
Variações em todos esses métodos são possíveis.
É possível encadear vários computadores para tirar proveito de 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 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.
Importante
Ao usar a depuração remota, é importante considerar questões de segurança. 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.