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


Удаленная отладка с помощью WinDbg

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

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

На следующей схеме показан удаленный сеанс, в котором сервер отладки, работающий на хост-компьютере, выполняет отладку в режиме ядра кода, выполняемого на отдельном целевом компьютере.

Схема, иллюстрирующая удаленные, хост-и целевые компьютеры, подключенные для отладки в режиме ядра.

Существует несколько транспортных протоколов, которые можно использовать для подключения удаленной отладки: TCP, NPIPE, SPIPE, SSL и COM-порт. Предположим, что в качестве протокола выбран протокол TCP, а winDbg используется как клиент отладки, так и сервер отладки. Для создания удаленного сеанса отладки в режиме ядра можно использовать следующую процедуру:

  1. На хост-компьютере откройте WinDbg и установите сеанс отладки в режиме ядра с целевым компьютером. (См . раздел Отладка live Kernel-Mode с помощью WinDbg (классическая модель)).)

  2. Чтобы прервать вход, выберите Команду Разорвать в меню Отладка или нажав клавиши CTRL+Break.

  3. В окне команд отладчика введите следующую команду.

    .server tcp:port=5005

    Примечание Номер порта 5005 является произвольным. Номер порта — это ваш выбор.

  4. WinDbg ответит выходными данными, аналогичными приведенным ниже.

    Server started.  Client can connect with any of these command lines
    0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
    
  5. На удаленном компьютере откройте WinDbg и в меню Файл выберите Подключиться к удаленному сеансу.

  6. В разделе Строка подключения введите следующую строку.

    tcp:Port=5005,Server=YourHostComputer

    Где YourHostComputer — это имя главного компьютера, на котором выполняется сервер отладки.

    Щелкните ОК.

Использование командной строки

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

  1. На хост-компьютере введите следующую команду в окне командной строки.

    windbg -server tcp:port=5005 -k 1394:channel=32

  2. На удаленном компьютере введите следующую команду в окне командной строки.

    windbg -remote tcp:Port=5005,Server=YourHostComputer

    Где YourHostComputer — это имя главного компьютера, на котором выполняется сервер отладки.

Дополнительные сведения

Существует множество способов удаленной отладки, отличных от тех, которые описаны в этом разделе. Полные сведения о настройке сервера отладки в командном окне отладчика WinDbg см. в разделе .server (Создание сервера отладки). Полные сведения о запуске WinDbg (и установке удаленной отладки) в командной строке см. в разделе Параметры Command-Line WinDbg.