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


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

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

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

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

Внимание

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

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

    bcdedit /debug on

    bcdedit /dbgsettings serial debugport:n baudrate: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 должна совпадать с узлом и целевым объектом.

Скорость 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 Сигнал земли

Аббревиаций сигнала

Аббревиатура Сигнал
Транзакция Передача данных
Rx Получение данных
RTS Запрос на отправку
CTS Очистить для отправки
DTR Терминал данных готов
DSR Готовый набор данных
CD Обнаружение оператора

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

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

См. также

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