Поделиться через


Активация сервера обработки

Сервер обработки, включенный в средства отладки для Windows, называется DbgSrv (dbgsrv.exe). Чтобы активировать сервер обработки, откройте окно командной строки с повышенными привилегиями (запуск от имени администратора) и введите команду dbgsrv .

Примечание. Вы можете активировать сервер обработки без повышенных привилегий, а клиенты отладки смогут подключаться к серверу. Однако клиенты не смогут обнаруживать сервер обработки, если он не был активирован с повышенными привилегиями. Сведения об обнаружении серверов отладки см. в разделе "Поиск серверов обработки".

DbgSrv поддерживает несколько транспортных протоколов: именованный канал (NPIPE), TCP, COM-порт, безопасный канал (SPIPE) и уровень безопасных сокетов (SSL).

dbgsrv -t npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

dbgsrv -t ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [[-sifeo Executable] -c[s] AppCmdLine] [-x | -pc] 

Параметры в предыдущих командах имеют следующие возможные значения:

pipe= Имя канала
Если используется протокол NPIPE или SPIPE, PipeName — это строка, которая будет служить именем канала. Каждое имя канала должно определять уникальный сервер обработки. При попытке повторного использования имени канала появится сообщение об ошибке. Имя канала не должно содержать пробелы или кавычки. PipeName может включать в себя код формата формата цифровой печати, например %x или %d. Сервер обработки заменит его идентификатором процесса DbgSrv. Второй такой код будет заменен идентификатором потока DbgSrv.

Обратите внимание , что может потребоваться включить общий доступ к файлам и принтерам на компьютере, на котором выполняется сервер обработки. В панель управления перейдите в раздел "Сеть" и "Сеть Интернета>" и "Расширенный общий доступ к Центру> общего доступа". Выберите "Включить общий доступ к файлам и принтерам".

port= Розетка
При использовании протокола TCP или SSL сокет является номером порта сокета .

Также можно указать диапазон портов, разделенных двоеточием. DbgSrv проверяет каждый порт в этом диапазоне, чтобы узнать, является ли он бесплатным. Если он находит свободный порт и не возникает ошибки, сервер обработки будет создан. Смарт-клиент должен указать фактический порт, используемый для подключения к серверу. Чтобы определить фактический порт, используйте любой из методов, описанных в разделе "Поиск серверов обработки", при отображении этого сервера обработки за портом будут следовать два числа, разделенные двоеточием. Первое число будет фактическим используемым портом; Второй можно игнорировать. Например, если порт был указан как порт=51:60, а порт 53 фактически использовался, результаты поиска будут отображать "port=53:60". (Если для установки обратного подключения используется параметр clicon , смарт-клиент может указать диапазон портов таким образом, в то время как сервер обработки должен указать фактически используемый порт.)

clicon= Клиент
Если используется протокол TCP или SSL и указан параметр clicon , откроется обратное подключение . Это означает, что сервер обработки попытается подключиться к смарт-клиенту, а не позволить клиенту инициировать контакт. Это может быть полезно, если у вас есть брандмауэр, который предотвращает подключение в обычном направлении. Клиент указывает сетевое имя или IP-адрес компьютера, на котором существует смарт-клиент или будет создан. Два начальных обратных косых шеи (\) являются необязательными.

Так как сервер обработки ищет один конкретный клиент, вы не можете подключить несколько клиентов к серверу, если используется этот метод. Если подключение отказывается или неработает, необходимо перезапустить сервер обработки. Сервер обработки обратного подключения не будет отображаться, когда пользователь использует параметр командной строки -QR для отображения всех активных серверов.

Обратите внимание , что при использовании 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 , отладчик будет искать сертификат в хранилище компьютеров. Указанный сертификат должен поддерживать проверку подлинности сервера.

скрытый
Запрещает отображение сервера обработки при использовании параметра командной строки -QR для отображения всех активных серверов.

password= Пароль
Требует, чтобы смарт-клиент предоставлял указанный пароль для подключения к серверу обработки. Пароль может быть любой буквенно-цифровой строкой, длиной до двенадцати символов.

Предупреждение с использованием пароля с протоколом TCP, NPIPE или COM обеспечивает только небольшое количество защиты, так как пароль не шифруется. Если пароль используется с протоколом SSL или SPIPE, он шифруется. Если вы хотите установить безопасный удаленный сеанс, необходимо использовать протокол SSL или SPIPE.

ipversion=6
(Только средства отладки для Windows 6.6.07 и более ранних версий) Принудительно отладчик использовать IP-адрес версии 6, а не версию 4 при использовании TCP для подключения к Интернету. В Windows Vista и более поздних версиях отладчик пытается автоматически использовать IP-версию 6, что делает этот параметр ненужным.

IcfEnable
Вызывает отладчик включить необходимые подключения портов для tcp или именованного канала связи, если брандмауэр подключения к Интернету активен. По умолчанию брандмауэр подключения к Интернету отключает порты, используемые этими протоколами. При использовании IcfEnable с TCP-подключением отладчик заставляет Windows открыть порт, указанный параметром Socket . При использовании IcfEnable с именованным подключением к каналу отладчик заставляет Windows открывать порты, используемые для именованных каналов (порты 139 и 445). Отладчик не закрывает эти порты после завершения подключения.

-sifeo Исполняемый файл
Приостанавливает значение параметра выполнения файла изображения (IFEO) для данного изображения. Исполняемый файл должен содержать имя файла исполняемого образа, включая расширения имени файла. Параметр -sifeo позволяет задать DbgSrv в качестве отладчика IFEO для образа, созданного параметром -c , без вызова рекурсивного вызова из-за параметра IFEO. Этот параметр можно использовать только в том случае, если используется -c .

-c
Вызывает dbgSrv для создания нового процесса. Это можно использовать для создания процесса, который планируется выполнить отладку. Это похоже на создание нового процесса от отладчика, за исключением того, что этот процесс не будет отлаживаться при его создании. Чтобы выполнить отладку этого процесса, определите идентификатор идентификатора и используйте параметр -p при запуске интеллектуального клиента для отладки этого процесса.

s
Приводит к немедленной приостановке созданного процесса. Если вы используете этот параметр, рекомендуется использовать CDB в качестве смарт-клиента и запустить смарт-клиент с параметром командной строки PB в сочетании с PD. Если в командной строке включен параметр -pb, процесс возобновляется при подключении отладчика к нему. В противном случае можно возобновить процесс с помощью команды ~*m.

AppCmdLine
Указывает полную командную строку создаваемого процесса. AppCmdLine может быть строкой Юникода или ASCII и может включать любой печатный символ. Весь текст, отображаемый после параметра -c[s] , будет взят для формирования строки AppCmdLine.

-x
Приводит к игнорировать оставшуюся часть командной строки. Этот параметр полезен при запуске DbgSrv из приложения, которое может добавить нежелательный текст в командную строку.

-ПК
Приводит к игнорировать оставшуюся часть командной строки. Этот параметр полезен при запуске DbgSrv из приложения, которое может добавить нежелательный текст в командную строку. Синтаксическая ошибка приводит к возникновению ошибки, если -pc является последним элементом в командной строке DbgSrv. Помимо этого ограничения, -pc идентичен -x.

Вы можете запустить любое количество серверов обработки на одном компьютере. Однако это обычно не требуется, так как один сервер обработки может использоваться любым количеством смарт-клиентов (каждый из которых участвует в другом сеансе отладки).