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


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

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

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

На этой схеме показано, как три компьютера работают вместе в обычной настройке удаленной отладки:

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

Внимание

Удаленная отладка предоставляет системе потенциальные риски безопасности. Прежде чем продолжить:

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

  1. На хост-компьютере откройте WinDbg и установите сеанс отладки в режиме ядра с целевым компьютером. (См. раздел Отладка в режиме динамического ядра с помощью 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. Дождитесь запуска сервера. Появится сообщение подтверждения с сведениями о подключении. Скопируйте эту строку подключения, прежде чем перейти к шагу 3.

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

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

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

Внимание

Транспорт 1394 доступен для использования в Windows 10 версии 1607 и более ранних версий. Он недоступен в более поздних версиях Windows. Переведите проекты на другие методы передачи данных, например, KDNET по Ethernet. Дополнительные сведения об этом транспорте см. в разделе "Настройка автоматической отладки сетевого ядра KDNET".

Дальнейшие шаги

Вы можете установить удаленную отладку различными способами, отличными от тех, которые показаны в этом разделе.