Удаленный протокол 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