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

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

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

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

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]

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

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]

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

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] 

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

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] 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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