Zwei Firewalls
In diesem Szenario müssen Sie das Kerneldebuggen auf einem Computer in Gebäude A ausführen. Ihr Techniker befindet sich in Gebäude C und hat dort Zugriff auf Symbole. Beide Gebäude verfügen jedoch über Firewalls, die keine eingehenden Verbindungen zulassen.
Sie müssen einen Repeater an einem neutralen Standort einrichten , z. B. Gebäude B. Dann können Sie A nach außen mit B verbinden und C nach außen mit B verbinden.
In diesem Szenario sind vier Computer beteiligt:
Der Zielcomputer in Gebäude A.
Der lokale Hostcomputer in Gebäude A. Auf diesem Computer wird ein KD-Verbindungsserver ausgeführt. Es wird über ein Debugkabel oder 1394-Kabel mit dem Zielcomputer verbunden und nach außen mit dem Repeater verbunden. Die IP-Adresse dieses Computers sollte 127.0.10.10 sein.
Der Computer in Gebäude B. Dadurch wird der Repeater ausgeführt. Die IP-Adresse sollte 127.0.20.20 sein.
Der Computer in Gebäude C, in dem sich der Techniker befindet. Auf diesem Computer wird WinDbg als intelligenter Client ausgeführt. Lassen Sie die IP-Adresse 127.0.30.30 sein.
Stellen Sie zunächst sicher, dass der Zielcomputer für das Debuggen konfiguriert und an den lokalen Hostcomputer angefügt ist. In diesem Beispiel wird ein 1394-Kabel verwendet.
Starten Sie anschließend den Repeater auf 127.0.20.20:
dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10
Starten Sie drittens den KD-Verbindungsserver unter 127.0.10.10 in Gebäude A wie folgt:
kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=longjump
Starten Sie schließlich den smarten Client unter 127.0.30.30 in Gebäude C. (Dies kann tatsächlich vor oder nach dem Starten des Servers in Gebäude A erfolgen.)
windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=longjump},trans=@{1394:channel=9} -y SymbolPath
Five-Computer Szenario
Dieses Szenario kann noch komplizierter werden, wenn Sie annehmen, dass sich die Symbole auf einem Computer in Gebäude C befinden, der Techniker sich jedoch auf einem anderen Computer befindet.
Angenommen, 127.0.30.30 verfügt wie zuvor über die Symbole und den lokalen Namen \\BOXC. Der smarte Client kann mit dem gleichen Befehl wie oben gestartet werden, aber mit einem zusätzlichen -server-Parameter . Da niemand diesen Computer verwendet, dauert es weniger Verarbeitungszeit, wenn Sie KD anstelle von WinDbg verwenden:
kd -server npipe:pipe=randomname -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=longjump},trans=@{1394:channel=9} -y SymbolPath
Anschließend kann der Techniker an anderer Stelle im Gebäude einen Debugclient wie folgt starten:
windbg -remote npipe:server=\\BOXC,pipe=randomname
Beachten Sie, dass das Kennwort vom ersten Nicht-Repeater in der Kette (dem smarten Client auf \\BOXC) und nicht vom endgültigen Debugger in der Kette bereitgestellt werden muss.