Partilhar via


Dois firewalls

Neste cenário, é necessário executar a depuração do kernel num computador no Edifício A. O seu técnico está localizado no Edifício C e tem acesso aos símbolos ali. 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 -- digamos, Edifício B. Em seguida, você pode conectar A para fora a B e conectar C para fora 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. Deixe o endereço IP deste computador ser 127.0.10.10.

  • O computador no Edifício 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 está ligado ao computador host local. Neste exemplo, um cabo 1394 é usado.

Em segundo lugar, inicie o repetidor 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 em 127.0.10.10 no Edifício A da seguinte maneira:

kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=Password

Finalmente, inicie o cliente inteligente em 127.0.30.30 no Edifício C. (Isso pode realmente ser feito antes ou depois de iniciar o servidor no Edifício A.)

windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath

Five-Computer Cenário

Este cenário pode tornar-se ainda mais complicado se supor que os símbolos estão num computador no Edifício C, mas o técnico está num 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 adicional -server. Como ninguém usará esta máquina, 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 lugar 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 dispositivo não repetidor na cadeia (o cliente inteligente em \\BOXC), não pelo depurador final na cadeia.

Importante

Existem considerações de segurança 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.