Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предположим, что специалист по отладке отсутствует на сайте, на котором находится компьютер для отладки. Специалист по отладке просит кого-то на этом сайте подключить этот целевой компьютер к другому компьютеру с отладочным кабелем.
Пусть этот другой компьютер будет иметь IP-адрес 127.0.0.42. Кабель отладки подключает COM1 на этом компьютере к порту с включенной поддержкой отладки на целевом компьютере. Сервер подключения KD запускается с этой командой:
E:\Debugging Tools for Windows> kdsrv -t tcp:port=1027
Затем в другом расположении технический специалист запускает WinDbg в качестве смарт-клиента с этой командой:
G:\Debugging Tools> windbg -k kdsrv:server=@{tcp:server=127.0.0.42,port=1027},trans=@{com:port=com1,baud=57600} -y SymbolPath
Путь к символам будет относительно компьютера, на котором работает смарт-клиент.
Вот еще один пример. В этом случае выбран протокол NPIPE, а KD используется вместо WinDbg. Первый пользователь выбирает имя канала. Это может быть любая буквенно-цифровая строка. В этом примере — "KernelPipe". Первый пользователь открывает окно командной строки с повышенными привилегиями (запуск от имени администратора) и запускает сервер отладки, введя следующие команды:
E:\Debugging Tools for Windows> set _NT_DEBUG_PORT=com1
E:\Debugging Tools for Windows> kdsrv -t npipe:pipe=KernelPipe
Специалист вошел на клиентский компьютер с учетной записью, которая не имеет доступа к серверу. Но специалист знает имя пользователя и пароль для учетной записи, которая имеет доступ к компьютеру сервера. Имя пользователя для этой учетной записи — Contoso. Специалист вводит следующую команду:
net use \\BOX17\ipc$ /user:Contoso
При появлении запроса специалист вводит пароль для учетной записи Contoso.
Специалист не уверен, какое имя использовалось для именованного канала, поэтому они запрашивают 127.0.0.42 для серверов подключения KD:
G:\Debugging Tools> cdb -QR 127.0.0.42
Servers on 127.0.0.42:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Remote Kernel Debugger Server - npipe:Pipe=KernelPipe
Показаны три трубы. Однако только один является сервером подключения KD, а другие — сервером отладки и сервером обработки в пользовательском режиме. Специалист вводит следующую команду, чтобы запустить смарт-клиент:
G:\Debugging Tools> kd -k kdsrv:server=@{npipe:server=127.0.0.42,pipe=KernelPipe},trans=@{com:baud=57600} -y SymbolPath
Обратите внимание, что хотя указана скорость baud, порт не указан. Это приводит к тому, что отладчик по умолчанию использует порт, указанный _NT_DEBUG_PORT на компьютере, где выполняется KdSrv.