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


Управление сеансом удаленной отладки

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

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

После выполнения команды одним пользователем другие пользователи, подключенные через KD или CDB, не увидят новую командную строку. С другой стороны, пользователи WinDbg будут постоянно видеть запрос на нижней панели командного окна отладчика, даже если подсистема отладчика запущена. Ни то, ни иное не должно быть причиной для тревоги; Любой пользователь может ввести команду в любое время, и обработчик будет выполнять эти команды в порядке их получения.

Действия, выполняемые через интерфейс WinDbg, также будут выполняться сервером отладки.

Взаимодействие между пользователями

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

Команда .clients (List Debugging Clients) выводит список всех клиентов, подключенных в данный момент к сеансу отладки.

Команда .echo (Echo Comment) полезна для отправки сообщений от одного пользователя другому.

Рабочие области WinDbg

Если WinDbg используется в качестве клиента отладки, его рабочая область будет сохранять только значения, заданные через графический интерфейс. Изменения, внесенные в командном окне отладчика, не будут сохранены. (Это гарантирует, что будут отражены только изменения, внесенные локальным клиентом, так как окно команд отладчика будет принимать входные данные от всех клиентов, а также от сервера отладки.)

Пути к файлам

Путь к символам, путь к исполняемому образу и путь dll расширения интерпретируются как пути к файлам относительно папки установки средств отладки для Windows на сервере отладки.

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

Эта система с несколькими путями позволяет клиенту отладки использовать команды, связанные с исходным кодом, не делясь исходными файлами с другими клиентами или сервером. Это полезно при наличии частных или конфиденциальных исходных файлов, к которым у одного из пользователей есть доступ.

Отмена сервера отладки

Команду .endsrv (End Debugging Server) можно использовать для завершения работы сервера отладки. Если отладчик установил несколько серверов отладки, некоторые из них можно отменить, оставив другие запущенными.

Прекращение сервера не позволит подключить к нему будущие клиенты. Он не будет отключать клиенты, которые в настоящее время подключены через сервер.

Выход из отладчика и завершение сеанса

Чтобы выйти из одного клиента отладки без завершения работы сервера, необходимо выполнить команду от этого конкретного клиента. Если это клиент KD или CDB, нажмите клавиши CTRL+B для выхода. Если вы используете скрипт для запуска KD или CDB, используйте .remote_exit (выход из клиента отладки). Если это клиент WinDbg, выберите Команду Выйти в меню Файл , чтобы выйти.

Чтобы завершить весь сеанс и выйти из сервера отладки, используйте команду q (Quit). Эту команду можно ввести с любого сервера или клиента, и она завершит весь сеанс для всех пользователей.