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


Настройка отладки в режиме ядра по последовательному кабелю вручную

Средства отладки для Windows поддерживают отладку ядра по кабелю null-модема. Кабели null-модема — это последовательные кабели, настроенные для отправки данных между двумя последовательным портами. Не путайте кабели null-модема со стандартными последовательными кабелями. Стандартные последовательные кабели не подключают последовательные порты друг к другу. Информация о том, как подключены нуль-модемные кабели, см. в разделеNull-Modem Проводка кабеля.

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

Настройка целевого компьютера

Это важно

Прежде чем использовать bcdedit для изменения сведений о загрузке, может потребоваться временно приостановить функции безопасности Windows, такие как BitLocker и безопасная загрузка на тестовом компьютере. После завершения отладки можно включить безопасную загрузку и отключить отладку ядра.

  1. На целевом компьютере откройте окно командной строки от имени администратора и введите следующие команды, где n — это число COM-порта, используемого для отладки на целевом компьютере, а скорость — это скорость baud, используемая для отладки:

    bcdedit /debug on

    bcdedit /dbgsettings serial debugport:nbaudrate:rate

    Заметка Скорость baud должна быть одинаковой на хост-компьютере и целевом компьютере. Рекомендуемая ставка — 115200.

  2. Перезагрузите целевой компьютер.

Запуск сеанса отладки

Подключите кабель null-модем к портам COM, выбранным для отладки на хост-компьютерах и целевых компьютерах.

Использование WinDbg

На хост-компьютере откройте WinDbg. В меню Файл выберите Отладка ядра. В диалоговом окне отладки ядра откройте вкладку COM . В поле скорости Baud введите частоту, выбранную для отладки. В поле "Порт " введите COMn , где n является номером COM-порта, выбранным для отладки на хост-компьютере. Нажмите ОК.

Вы также можете запустить сеанс с WinDbg, введя следующую команду в окне командной строки; n — это число COM-порта, используемого для отладки на хост-компьютере, а скорость — это скорость baud, используемая для отладки:

windbg -k com:port=COMn,baud=rate

Использование KD

На хост-компьютере откройте окно командной строки и введите следующую команду, где n — это число COM-порта, используемого для отладки на хост-компьютере, а скорость — это скорость baud, используемая для отладки:

kd -k com:port=COMn,baud=rate

Использование переменных среды

На хост-компьютере можно использовать переменные среды, чтобы указать COM-порт и скорость взаимодействия. Затем вам не нужно указывать порт и частоту baud при каждом запуске сеанса отладки. Чтобы использовать переменные среды для указания com-порта и скорости baud, откройте окно командной строки и введите следующие команды, где n — это число COM-порта, используемого для отладки на хост-компьютере, и скорость — это скорость baud, используемая для отладки:

  • set _NT_DEBUG_PORT=COMn
  • set _NT_DEBUG_BAUD_RATE=rate

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

  • kd
  • windbg

Советы по устранению неполадок для отладки по последовательному кабелю

Укажите правильный COM-порт как на узле, так и в целевом объекте

Определите количество COM-портов, которые вы используете для отладки на узлах и целевых компьютерах. Например, предположим, что у вас есть кабель null-модема, подключенный к COM1 на хост-компьютере и COM2 на целевом компьютере.

На целевом компьютере откройте окно командной строки от имени администратора и введите bcdedit /dbgsettings. Если вы используете COM2 на целевом компьютере, выходные данные bcdedit должны отображаться debugport 2.

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

  • В WinDbg в диалоговом окне отладки ядра введите COM1 в поле "Порт ".
  • windbg -k com:port=COM1, ...
  • kd -k com:port=COM1, ...
  • set _NT_DEBUG_PORT=COM1

Скорость передачи данных должна совпадать на хосте и на целевом устройстве.

Скорость baud, используемая для отладки по последовательному кабелю, должна иметь одинаковое значение на узлах и целевых компьютерах. Например, предположим, что выбрана скорость передачи 115200.

На целевом компьютере откройте окно командной строки от имени администратора и введите bcdedit /dbgsettings. Результат выполнения команды bcdedit должен показать baudrate 115200.

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

  • В WinDbg в диалоговом окне отладки ядра введите 115200 в поле скорости Baud .
  • windbg -k ..., baud=115200
  • kd -k ..., baud=115200
  • set _NT_DEBUG_BAUD_RATE=115200

Кабель нуль-модемного соединения

В следующих таблицах показано, как подключены null-модемные кабели.

Соединитель с 9 контактами

Соединитель 1 Соединитель 2 Сигналы
2 3 Tx — Rx
3 2 Rx — Tx
7 8 RTS - CTS
8 7 CTS — RTS
4 1+6 DTR — (CD+DSR)
1+6 4 (CD+DSR) — DTR
5 5 Сигнальная земля

25-контактный соединитель

Соединитель 1 Соединитель 2 Сигналы
2 3 Tx — Rx
3 2 Rx — Tx
4 5 RTS - CTS
5 4 CTS — RTS
6 20 DSR — DTR
20 6 DTR — DSR
7 7 Сигнальная земля

Аббревиатуры сигналов

Аббревиатура Сигнал
Tx Передача данных
Rx Получение данных
РТС Запрос на отправку
CTS ** Готово для отправки
DTR Терминал данных готов
DSR Готовый набор данных
CD (компакт-диск) Обнаружение несущего сигнала

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

Полную документацию по команде bcdedit см. в справочнике по параметрам BCDEdit.

См. также

Настройка Kernel-Mode Отладки вручную