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


Активация смарт-клиента

После активации сервера обработки DbgSrv можно создать смарт-клиент на другом компьютере и начать сеанс отладки.

Существует два способа запуска смарт-клиента: запуск CDB или WinDbg с параметром командной строки -premote или с помощью графического интерфейса WinDbg.

Важный

При использовании удаленной отладки необходимо учитывать важные аспекты безопасности. Дополнительные сведения о включении безопасного режима см. в разделе Безопасность во время удаленной отладки и вопросы безопасности для средств отладки Windows.

Протокол смарт-клиента должен соответствовать протоколу сервера обработки. Общий синтаксис запуска смарт-клиента зависит от используемого протокола. Существуют следующие параметры:

Рекомендуемые методы подключения с некоторыми дополнительными безопасности

Debugger -premote spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] [Options]

Debugger -premote ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] [Options]

Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]

небезопасные методы подключения

Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]

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

Рекомендуемые методы подключения с некоторыми дополнительными безопасности

spipe:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,pipe=PipeName[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},server=Server,port=Socket[,password=Password] 

ssl:proto=Protocol,{certuser=Cert|machuser=Cert},clicon=Server,port=Socket[,password=Password] 

com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] 

небезопасные методы подключения

npipe:server=Server,pipe=PipeName[,password=Password] 

tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

Кроме того, можно использовать кнопку Обзор для поиска активных серверов обработки.

Параметры

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

отладчика
Это может быть CDB или WinDbg.

сервера
Это сетевое имя или IP-адрес компьютера, на котором был создан сервер обработки. Две начальные обратные косые черты (\) являются необязательными в командной строке, но не разрешены в диалоговом окне WinDbg.

pipe=PipeName
Если используется протокол NPIPE или SPIPE, PipeName — это имя, которое было присвоено каналу при создании сервера обработки.

Если вы не вошли на клиентский компьютер с учетной записью с доступом к серверу, необходимо указать имя пользователя и пароль. На клиентском компьютере в окне командной строки введите следующую команду.

net use \\Server\ipc$ /user:UserName

где Server — имя компьютера сервера, а имя_пользователя — имя учетной записи с доступом к компьютеру сервера.

При появлении запроса введите пароль для UserName.

После успешного выполнения этой команды можно активировать смарт-клиент с помощью параметра командной строки -premote или с помощью графического интерфейса WinDbg.

примечание Может потребоваться включить общий доступ к файлам и принтерам на серверном компьютере. На панели управления перейдите к разделу Network and Internet > Network and Sharing Center> Дополнительные параметры общего доступа. Выберите Включить общий доступ к файлам и принтерам.

port=Socket
Если используется протокол TCP или SSL, сокет совпадает с номером порта сокета, который использовался при создании сервера обработки.

clicon
Указывает, что сервер обработки попытается подключиться к смарт-клиенту через обратное подключение. Клиент должен использовать clicon, если сервер использует clicon. В большинстве случаев смарт-клиент запускается перед сервером обработки при использовании обратного подключения.

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

baud=BaudRate
Если используется протокол COM, BaudRate должны соответствовать скорости baud, выбранной при создании сервера обработки.

канал =COMChannel
Если используется com-протокол, COMChannel должны соответствовать номеру канала, выбранному при создании сервера обработки.

proto=Протокол
Если используется протокол SSL или SPIPE, протокола должны соответствовать безопасному протоколу, используемому при создании сервера обработки.

сертификат
Если используется протокол SSL или SPIPE, следует использовать идентичный параметр certuser=Cert или machuser=Cert параметр, используемый при создании сервера обработки.

password=Password
Если при создании сервера обработки использовался пароль, необходимо предоставить пароль, чтобы создать смарт-клиент. Он должен соответствовать исходному паролю. Пароли чувствительны к регистру. Если указан неправильный пароль, сообщение об ошибке будет указывать "Ошибка 0x80004005".

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

параметры
Здесь можно разместить любые дополнительные параметры командной строки. Полный список см. в Command-Line параметрах. Если вы используете CDB, необходимо указать процесс отладки. Если вы используете WinDbg, можно указать процесс в командной строке или через графический интерфейс.

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

Если вы используете параметр -premote с .attach (Attach to Process) или .create (Create Process), параметры совпадают с указанными выше параметрами.

Устранение неполадок

Если вы видите это сообщение: клиент не использует ту же версию протокола удаленного взаимодействия, что и сервер это означает, что версия DbgSrv, к которому вы пытаетесь подключиться, использует другую версию протокола, чем версия WinDbg.

Это редкость, что изменения протокола вносятся. Если это произойдет, убедитесь, что вы используете соответствующие версии последней доступной версии DbgSrv и WinDbg (классическая версия) или WinDbg. Сведения о скачивании последней версии см. в разделе Средства отладки для Windows.