Удаленный протокол GDB: как анализировать пакеты?
Я:
- собственническая доска рукоятки прототипа (основанная Cortex-M3) с ECOS OS
- плата имеет запрограммированный загрузчик RedBoot
- серийная линия (RS-232)
- отладчик GDB для ARM (arm-eabi-gdb)
- хост-ОС-это Windows / Cygwin и / или Linux (на самом деле, не имеет значения)
: отладчик GDB не может подключиться к цели через последовательный линия.
что хочется: обнюхивать пакеты удаленного протокола GDB для того, чтобы undestand ли заглушка GDB на цели жива и работает.
детали: RedBoot имеет возможность передать управление цели на встроенный заглушку GDB. Я знаю, что RedBoot жив, я могу подключиться к нему и отправить ему команды по последовательной линии. руководство RedBoot говорит, что переключатель на заглушку GDB можно сделать, набрав $ или + символы (которые на самом деле являются префиксами пакетов удаленного протокола GDB). Кажется, это работает, когда я отправляю эти символы, терминал умирает. Но я не уверен, что RedBoot был скомпилирован с поддержкой заглушки GDB (не спрашивайте меня, почему :-)).
затем, когда я пытаюсь подключиться к плате с помощью отладчика GDB, я получаю следующее изображение (в Windows):
(gdb) target remote COM3
Remote debugging using COM3
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
порт правильный, скорость, а также. Фактически тот же результат, который я получаю, если я пытаюсь сделать то же самое с другой последовательный порт, который ни с чем не связан.
что я хочу знать, это GDB stub отправляет что-нибудь или нет?
интуитивно я подумал, что, вероятно,
set verbose on
помогло бы, но руководство GDB говорит, что оно имеет очень ограниченный эффект, и мой случай за его пределами.
может быть, можно скомпилировать отладчик GDB с макросом, который позволяет вести журнал отладки?
1 ответов
что я хочу знать, это GDB stub отправляет что-нибудь или нет?
этого (перед target remote
):
(gdb) set debug remote 1