Активация сервера отладки
Существует два способа активации сервера отладки. Его можно активировать при запуске отладчика с помощью параметра командной строки -server в окне командной строки с повышенными привилегиями (запуск от имени администратора). Его также можно активировать после запуска отладчика. Запустите отладчик с повышенными привилегиями (запуск от имени администратора) и введите команду .server .
Примечание. Вы можете активировать сервер отладки без повышенных привилегий, а клиенты отладки смогут подключаться к серверу. Однако клиенты не смогут обнаруживать сервер отладки, если он не был активирован с повышенными привилегиями. Сведения об обнаружении серверов отладки см. в разделе "Поиск серверов отладки".
Отладчики поддерживают несколько транспортных протоколов: именованный канал (NPIPE), TCP, COM-порт, безопасный канал (SPIPE) и уровень безопасных сокетов (SSL).
Общий синтаксис для активации сервера отладки зависит от используемого протокола.
Debugger -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]
Debugger -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options]
Debugger -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]
Debugger -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [-noio] [Options]
Debugger -server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [-noio] [Options]
Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [-noio] [Options]
Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]
Другим способом активации сервера отладки является использование команды .server (Create Debugging Server) после запуска отладчика.
.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable]
.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable]
.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6]
.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password]
.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password]
.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password]
Параметры в предыдущих командах имеют следующие возможные значения:
Отладчик
Может быть KD, CDB, NTSD или WinDbg.
pipe= Имя канала
Если используется протокол NPIPE или SPIPE, PipeName — это строка, которая будет служить именем канала. Каждое имя канала должно определять уникальный сервер отладки. При попытке повторного использования имени канала появится сообщение об ошибке. Имя канала не должно содержать пробелы или кавычки. PipeName может включать в себя код формата формата цифровой печати, например %x или %d. Отладчик заменит его идентификатором процесса отладчика. Второй такой код будет заменен идентификатором потока отладчика.
Обратите внимание , что может потребоваться включить общий доступ к файлам и принтерам на компьютере, на котором запущен сервер отладки. В панель управления перейдите в раздел "Сеть" и "Сеть Интернета>" и "Расширенный общий доступ к Центру> общего доступа". Выберите "Включить общий доступ к файлам и принтерам".
port= Розетка
При использовании протокола TCP или SSL сокет является номером порта сокета .
Также можно указать диапазон портов, разделенных двоеточием. Отладчик проверяет каждый порт в этом диапазоне, чтобы узнать, является ли он бесплатным. Если он находит бесплатный порт и не возникает ошибок, будет создан сервер отладки. Клиент отладки должен указать фактический порт, используемый для подключения к серверу. Чтобы определить фактический порт, используйте любой из методов, описанных в разделе "Поиск серверов отладки", а при отображении этого сервера отладки порт будет следовать двумя числами, разделенными двоеточием. Первое число будет фактическим используемым портом; Второй можно игнорировать. Например, если порт был указан как порт=51:60, а порт 53 фактически использовался, результаты поиска будут отображать "port=53:60". (Если для установки обратного подключения используется параметр clicon , клиент отладки может указать диапазон портов таким образом, в то время как сервер должен указать фактический используемый порт.)
clicon= Клиент
Если используется протокол TCP или SSL и указан параметр clicon , откроется обратное подключение . Это означает, что сервер отладки попытается подключиться к клиенту отладки, а не позволить клиенту инициировать контакт. Это может быть полезно, если у вас есть брандмауэр, который предотвращает подключение в обычном направлении. Клиент указывает сетевое имя или IP-адрес компьютера, на котором существует клиент отладки или будет создан. Два начальных обратных косых шеи (\) являются необязательными.
Так как сервер ищет один конкретный клиент, вы не можете подключить несколько клиентов к серверу, если вы используете этот метод. Если подключение отказано или сломано, необходимо перезапустить подключение к серверу. Сервер обратного подключения не будет отображаться, когда другой отладчик отображает все активные серверы.
Обратите внимание , что при использовании clicon лучше всего запустить клиент отладки перед созданием сервера отладки, хотя обычный порядок (сервер перед клиентом) также разрешен.
port= COMPort
Если используется протокол COM, COMPort указывает используемый com-порт. Префикс COM является необязательным. Например, допустимы как com2, так и "2".
baud= BaudRate
При использовании com-протокола BaudRate указывает скорость выполнения соединения. Разрешена любая скорость baud, поддерживаемая оборудованием.
channel= COMChannel
Если используется com-протокол, COMChannel указывает com-канал, используемый при взаимодействии с клиентом отладки. Это может быть любое значение от 0 до 254 включительно. Вы можете использовать один COM-порт для нескольких подключений с использованием разных номеров каналов. (Это отличается от использования COM-портов для отладочного кабеля. В этой ситуации нельзя использовать каналы в com-порту.)
proto= Протокол
Если используется протокол SSL или SPIPE, протокол указывает протокол Secure Channel (S-Channel). Это может быть любой из строк tls1, p1, ssl2 или ssl3.
Сертификат
Если используется протокол SSL или SPIPE, сертификат указывает сертификат. Это может быть имя сертификата или отпечаток сертификата (строка шестнадцатеричных цифр, заданных оснастки сертификата). Если используется синтаксис certuser=Cert , отладчик будет искать сертификат в системном хранилище (хранилище по умолчанию). Если используется синтаксис machuser=Cert , отладчик будет искать сертификат в хранилище компьютеров. Указанный сертификат должен поддерживать проверку подлинности сервера.
скрытый
Предотвращает отображение сервера, когда другой отладчик отображает все активные серверы.
password= Пароль
Требует от клиента предоставить указанный пароль для подключения к сеансу отладки. Пароль может быть любой буквенно-цифровой строкой, длиной до двенадцати символов.
Предупреждение с использованием пароля с протоколом TCP, NPIPE или COM обеспечивает только небольшое количество защиты, так как пароль не шифруется. Если пароль используется с протоколом SSL или SPIPE, он шифруется. Если вы хотите установить безопасный удаленный сеанс, необходимо использовать протокол SSL или SPIPE.
ipversion=6
(Только средства отладки для Windows 6.6.07 и более ранних версий) Принудительно отладчик использовать IP-адрес версии 6, а не версию 4 при использовании TCP для подключения к Интернету. В Windows Vista и более поздних версиях отладчик пытается автоматически использовать IP-версию 6, что делает этот параметр ненужным.
-noio
Если сервер отладки создается с параметром -noio , входные или выходные данные не могут выполняться с помощью самого сервера. Отладчик будет принимать входные данные только от клиента отладки (а также любые начальные команды или скрипты команд, указанные параметром командной строки -c ). Все выходные данные будут перенаправлены клиенту отладки. Параметр -noio доступен только с KD, CDB и NTSD. Если NTSD используется для сервера, окно консоли не будет создано вообще.
IcfEnable
Вызывает отладчик включить необходимые подключения портов для tcp или именованного канала связи, если брандмауэр подключения к Интернету активен. По умолчанию брандмауэр подключения к Интернету отключает порты, используемые этими протоколами. При использовании IcfEnable с TCP-подключением отладчик заставляет Windows открыть порт, указанный параметром Socket . При использовании IcfEnable с именованным подключением к каналу отладчик заставляет Windows открывать порты, используемые для именованных каналов (порты 139 и 445). Отладчик не закрывает эти порты после завершения подключения.
Параметры
Здесь можно разместить любые дополнительные параметры командной строки. Полный список см . в параметрах командной строки.
Команду .server можно использовать для запуска нескольких серверов с помощью различных параметров протокола. Это позволяет различным типам клиентов отладки присоединяться к сеансу.
См. также
Управление сеансом удаленной отладки
.endrv (конечный сервер отладки)