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 tem acesso a símbolos lá. 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. 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. Que o endereço IP deste computador seja 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á anexado ao computador host local. Neste exemplo, um cabo 1394 é usado.

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

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

Por fim, inicie o cliente inteligente no 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=longjump},trans=@{1394:channel=9} -y SymbolPath

Cenário de Five-Computer

Esse cenário pode se tornar 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 -server 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=longjump},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 não repetidor na cadeia (o cliente inteligente em \\BOXC), não pelo depurador final na cadeia.