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


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

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

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

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

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

Связь между пользователями

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

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

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

рабочих областей WinDbg

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

пути к файлам

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

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

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

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

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

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

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

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

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

Важный

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