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


Примеры сервера обработки

Предположим, что один пользователь запускает приложение на компьютере с именем \\BOX17. Это приложение имеет проблемы, но специалист по отладке находится на другом сайте.

Первый пользователь настраивает сервер обработки с помощью DbgSrv в \\BOX17. Целевое приложение имеет идентификатор процесса 122. Выбран протокол TCP с номером порта сокета 1025. Сервер запускается со следующей команды:

E:\Debugging Tools for Windows> dbgsrv -t tcp:port=1025 

На другом компьютере специалист запускает WinDbg в качестве смарт-клиента с помощью следующей команды:

G:\Debugging Tools> windbg -premote tcp:server=BOX17,port=1025 -p 122 

Вот еще один пример. В этом случае выбран протокол NPIPE, а CDB используется вместо WinDbg. Первый пользователь выбирает имя канала. Это может быть любая буквенно-цифровая строка в этом примере "AnotherPipe". Первый пользователь открывает окно командной строки с повышенными привилегиями (запуск от имени администратора) и запускает сервер отладки, введя следующую команду:

E:\Debugging Tools for Windows> dbgsrv -t npipe:pipe=AnotherPipe

Специалист вошел на клиентский компьютер с учетной записью, которая не имеет доступа к серверу. Но специалист знает имя пользователя и пароль для учетной записи, которая имеет доступ к компьютеру сервера. Имя пользователя для этой учетной записи — Contoso. Специалист вводит следующую команду:

net use \\BOX17\ipc$ /user:Contoso

При появлении запроса специалист вводит пароль для учетной записи Contoso.

Специалист не уверен, какое имя было использовано для именованного канала, поэтому он делает запрос к BOX17 для серверов процессов.

G:\Debugging Tools> cdb -QR \\BOX17
Servers on \\BOX17:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe

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

G:\Debugging Tools> cdb -premote npipe:server=BOX17,pipe=AnotherPipe -v sol.exe

Более сложный пример использования сервера обработки см. в разделе "Символы" в середине.