Настройка отладки в режиме ядра по последовательному кабелю вручную
Средства отладки для Windows поддерживают отладку ядра по кабелю null-модема. Кабели null-модема — это последовательные кабели, настроенные для отправки данных между двумя последовательным портами. Не путайте кабели null-модема со стандартными последовательными кабелями. Стандартные последовательные кабели не подключают последовательные порты друг к другу. Сведения о том, как проводные кабели с null-модемом, см. в разделе "Проводка кабеля null-Модем".
Компьютер, на котором выполняется отладчик, называется главным компьютером, а отлаживаемый компьютер называется целевым компьютером.
Настройка целевого компьютера
Внимание
Прежде чем использовать bcdedit для изменения сведений о загрузке, может потребоваться временно приостановить функции безопасности Windows, такие как BitLocker и безопасная загрузка на тестовом компьютере. После завершения отладки можно включить безопасную загрузку и отключить отладку ядра.
На целевом компьютере откройте окно командной строки от имени администратора и введите следующие команды, где n — это число COM-порта, используемого для отладки на целевом компьютере, а скорость — это скорость baud, используемая для отладки:
bcdedit /debug on
bcdedit /dbgsettings serial debugport:n baudrate:rate
Обратите внимание , что скорость baud должна совпадать на хост-компьютере и целевом компьютере. Рекомендуемая ставка — 115200.
Перезагрузите целевой компьютер.
Запуск сеанса отладки
Подключите кабель 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.