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

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

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

port=Socket
Если используется протокол TCP или SSL, socket — это номер порта сокета.

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

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

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

Примечание При использовании clicon рекомендуется запустить интеллектуальный клиент до создания сервера обработки, хотя обычный порядок (сервер перед клиентом) также разрешен.

port=COMPort
При использовании com-протокола COMPort указывает используемый COM-порт. Префикс "COM" является необязательным. Например, допустимы и "com2", и "2".

baud=BaudRate
При использовании протокола COM BaudRate указывает скорость передачи данных, с которой будет выполняться подключение. Разрешена любая скорость передачи данных, поддерживаемая оборудованием.

channel=COMChannel
Если используется протокол COM, COMChannel указывает канал COM, который будет использоваться для взаимодействия с клиентом отладки. Это может быть любое значение от 0 до 254 включительно. Вы можете использовать один COM-порт для нескольких подключений с разными номерами каналов. (Это отличается от использования COM-портов для отладочного кабеля . В этом случае нельзя использовать каналы в COM-порте.)

proto =протокол
Если используется протокол SSL или SPIPE, протокол Указывает протокол S-Channel. Это может быть любая из строк tls1, pct1, ssl2 или ssl3.

Cert
Если используется протокол SSL или SPIPE, сертификат указывается в Cert . Это может быть имя сертификата или отпечаток сертификата (строка шестнадцатеричных цифр, указанная в оснастке сертификата). Если используется синтаксис certuser=Cert , отладчик будет искать сертификат в системном хранилище (хранилище по умолчанию). Если используется синтаксис machuser=Cert , отладчик будет искать сертификат в хранилище компьютера. Указанный сертификат должен поддерживать проверку подлинности сервера.

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

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

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

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

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

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

-C
Заставляет DbgSrv создать новый процесс. Его можно использовать для создания процесса, который планируется отлаживать. Это аналогично порождению нового процесса из отладчика, за исключением того, что этот процесс не будет отлаживаться при его создании. Чтобы отладить этот процесс, определите его PID и используйте параметр -p при запуске интеллектуального клиента для отладки этого процесса.

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

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

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

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

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