Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Ci sono ulteriori importanti considerazioni sulla sicurezza quando si utilizza il debug remoto. Per ulteriori informazioni, inclusi dettagli su come abilitare la modalità protetta, vedere Security During Remote Debugging e Security Considerations for Windows Debugging Tools.
In questo scenario è necessario eseguire il debug del kernel su un computer nell'edificio A. Il tecnico si trova nell'edificio C e ha accesso ai simboli lì disponibili. Tuttavia, entrambi gli edifici dispongono di firewall che non consentiranno connessioni in ingresso.
È necessario configurare un ripetitore in un sito neutro, ad esempio Building B. Quindi è possibile collegare A a B e collegare C a B.
In questo scenario saranno coinvolti quattro computer:
Il computer di destinazione si trova nell'edificio A.
Il computer host locale, che si trova nell'edificio A. Questo computer eseguirà un server di connessione KD. Verrà collegato al computer di destinazione tramite un cavo di debug o un cavo 1394 e si connetterà al ripetitore. Lasciare che l'indirizzo IP del computer sia 127.0.10.10.
Il computer nell'edificio B eseguirà 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.
Verificare 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 proxy su 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 sulla versione 127.0.10.10 in Building A come indicato di seguito:
kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=Password
Infine, avviare il client intelligente sull'indirizzo IP 127.0.30.30 nell'Edificio C. (Questa operazione può essere eseguita effettivamente prima o dopo l'avvio del server nell'Edificio A.)
windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=Password},trans=@{1394:channel=9} -y SymbolPath
scenario Five-Computer
Questo scenario può essere reso ancora più complicato se si supponga che i simboli si trovino in un computer in Building C, ma il tecnico si trova in un computer diverso.
Si supponga che 127.0.30.30 abbia i simboli, come in precedenza, e che il nome locale sia \\BOXC. Il client intelligente può essere avviato con lo stesso comando precedente, ma con un parametro aggiuntivo -server. Poiché nessuno userà questo computer, richiederà meno tempo di elaborazione se si usa KD invece di 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
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.
Importante
Quando si usa il debug remoto, è necessario tenere presenti importanti considerazioni sulla sicurezza. Per ulteriori informazioni, tra cui quelle relative all'abilitazione della modalità protetta, vedere Sicurezza durante il debug remoto e Considerazioni sulla sicurezza per gli strumenti di debug di Windows.