Dois firewalls
Nesse cenário, você precisa executar a depuração de kernel em um computador no Edifício A. Seu técnico está localizado no Edifício C e lá tem acesso a símbolos. No entanto, ambos os edifícios têm firewalls que não permitirão conexões de entrada.
Você precisa configurar um repetidor em um local neutro, por exemplo, no Edifício B. Em seguida, você pode conectar A a B e C a B.
Haverá quatro computadores envolvidos neste cenário:
O computador de destino, localizado no Edifício A.
O computador host local, localizado no Edifício A. Este computador executará um servidor de conexão KD. Ele será conectado ao computador de destino por um cabo de depuração ou cabo 1394 e se conectará para fora ao repetidor. Que o endereço IP deste computador seja 127.0.10.10.
O computador no Prédio B. Isso executará o repetidor. Deixe seu endereço IP ser 127.0.20.20.
O computador no Edifício C onde o técnico está localizado. Este computador executará o WinDbg como um cliente inteligente. Deixe seu endereço IP ser 127.0.30.30.
Primeiro, verifique se o computador de destino está configurado para depuração e se está conectado ao computador host local. Neste exemplo, um cabo 1394 é usado.
Em segundo lugar, inicie o repetidor de proxy em 127.0.20.20:
dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10
Em terceiro lugar, inicie o servidor de conexão KD na versão 127.0.10.10 no Building A da seguinte maneira:
kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=Password
Por fim, inicie o cliente inteligente na versão 127.0.30.30 no Building C. (isso pode ser feito antes ou depois de iniciar o servidor no Building A.)
windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath
Configuração de cinco computadores
Esse cenário pode ficar ainda mais complicado se você supor que os símbolos estão em um computador no Edifício C, mas o técnico está em um computador diferente.
Suponha que 127.0.30.30 tenha os símbolos, como antes, e que seu nome local seja \\BOXC
. O cliente inteligente pode ser iniciado com o mesmo comando acima, mas com um parâmetro -servidor adicional. Como ninguém usará esse computador, levará menos tempo de processamento se você usar KD em vez de WinDbg:
kd -server npipe:pipe=randomname -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath
Em seguida, o técnico, em outro local do prédio, pode iniciar um cliente de depuração da seguinte maneira:
windbg -remote npipe:server=\\BOXC,pipe=randomname
Observe que a senha deve ser fornecida pelo primeiro elemento que não se repete na cadeia (o cliente inteligente no \\BOXC
), não pelo depurador final na cadeia.
Importante
Há considerações de segurança importantes ao usar a depuração remota. Para obter mais informações, incluindo 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.