Due firewall

In questo scenario è necessario eseguire il debug del kernel in un computer nella compilazione A. Il tuo tecnico si trova nell'edificio C e ha accesso ai simboli lì. Tuttavia, entrambi gli edifici hanno firewall che non consentiranno connessioni in ingresso.

È necessario configurare un ripetitore in un sito neutro, ad esempio Building B. È quindi possibile connettere A verso l'esterno di B e connettere C verso l'esterno di B.

In questo scenario saranno presenti quattro computer:

  • Il computer di destinazione, situato nell'edificio A.

  • Il computer host locale, che si trova nell'edificio A. Questo computer eseguirà un server di connessione KD. Sarà collegato al computer di destinazione da un cavo di debug o 1394 cavo e si connetterà verso l'esterno del ripetitore. Lasciare che l'indirizzo IP del computer sia 127.0.10.10.

  • Computer nell'edificio B. Verrà eseguito il ripetitore. Lasciare che l'indirizzo IP sia 127.0.20.20.

  • Il computer nell'edificio C in cui si trova il tecnico. Questo computer eseguirà WinDbg come client intelligente. Lasciare che l'indirizzo IP sia 127.0.30.30.

Assicurarsi prima di tutto che il computer di destinazione sia configurato per il debug e sia collegato al computer host locale. In questo esempio viene usato un cavo 1394.

In secondo luogo, avviare il ripetitore 127.0.20.20:

dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10

In terzo luogo, avviare il server di connessione KD nella versione 127.0.10.10 nella compilazione A come indicato di seguito:

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

Infine, avviare il client intelligente sulla versione 127.0.30.30 in Building C. (Questa operazione può essere effettivamente eseguita prima o dopo l'avvio del server nella compilazione A).

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

Scenario di Five-Computer

Questo scenario può essere reso ancora più complicato se si supponga che i simboli si trovino in un computer nell'edificio C, ma il tecnico si trova in un computer diverso.

Si supponga che 127.0.30.30 contenga i simboli, come in precedenza, e che il nome locale sia \\BOXC. Il client intelligente può essere avviato con lo stesso comando riportato sopra, ma con un parametro -server aggiuntivo. Poiché nessuno userà questo computer, richiederà meno tempo di elaborazione se si usa KD anziché 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

Quindi il tecnico, altrove nell'edificio, può avviare un client di debug come indicato di seguito:

windbg -remote npipe:server=\\BOXC,pipe=randomname

Si noti che la password deve essere fornita dal primo non ripetitore nella catena (il client intelligente in \\BOXC), non dal debugger finale nella catena.