Два брандмауэра
В этом сценарии необходимо выполнить отладку ядра на компьютере в сборке A. Ваш техник находится в здании C и имеет доступ к символам там. Однако оба здания имеют брандмауэры, которые не разрешают входящие подключения.
Вам нужно настроить ретранслятор на нейтральном сайте, скажем, в здании Б. Затем можно подключить A наружу к B, а C — к B.
В этом сценарии будут задействованы четыре компьютера:
Целевой компьютер, расположенный в здании A.
Локальный главный компьютер, расположенный в здании A. На этом компьютере будет запущен сервер подключения KD. Он будет подключен к целевому компьютеру с помощью отладочного кабеля или кабеля 1394 и будет подключен наружу к ретранслятору. Ip-адрес этого компьютера должен быть 127.0.10.10.
Компьютер в здании Б. При этом будет запущен повторитель. Пусть его IP-адрес будет 127.0.20.20.
Компьютер в здании C, где находится технический специалист. Этот компьютер будет запускать WinDbg в качестве смарт-клиента. Пусть ip-адрес будет 127.0.30.30.
Сначала убедитесь, что конечный компьютер настроен для отладки и подключен к локальному хост-компьютеру. В этом примере используется кабель 1394.
Во-вторых, запустите повторитель на 127.0.20.20:
dbengprx -p -s tcp:port=9001 -c tcp:port=9000,clicon=127.0.10.10
В-третьих, запустите сервер подключения KD в 127.0.10.10 в здании A следующим образом:
kdsrv -t tcp:port=9000,clicon=127.0.20.20,password=longjump
Наконец, запустите смарт-клиент по 127.0.30.30 в здании C. (Это можно сделать до или после запуска сервера в сборке A.)
windbg -k kdsrv:server=@{tcp:server=127.0.20.20,port=9001,password=longjump},trans=@{1394:channel=9} -y SymbolPath
Сценарий Five-Computer
Этот сценарий можно усложнить, если предположить, что символы находятся на одном компьютере в здании C, а технический специалист — на другом компьютере.
Предположим, что 127.0.30.30 содержит символы, как и раньше, а локальное имя — \\BOXC. Смарт-клиент можно запустить с помощью той же команды, что и выше, но с дополнительным параметром -server . Так как никто не будет использовать этот компьютер, обработка займет меньше времени, если вы используете KD вместо 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
Затем специалист в другом месте здания может запустить клиент отладки следующим образом:
windbg -remote npipe:server=\\BOXC,pipe=randomname
Обратите внимание, что пароль должен быть предоставлен первым не-повторителем в цепочке (смарт-клиентом в \\BOXC), а не конечным отладчиком в цепочке.