Im используя ARMv7
в качестве целевой машины. Я собрал источник Linux 2.6.34.13
для цели.Как использовать kgdb на ARM ??
Цель связана с Host (машиной разработки Linux) через последовательный порт с использованием minicom.
Target загружен новым ядром, а KGDB включен в командной строке.
$ echo ttyAMA0 > /sys/module/kgdboc/parameters/kgdboc
$ echo g > /proc/sysrq-trigger
Ввод сообщения KGDB ... отображается и ждет команд.
В принимающей стороне,
$arm-none-linux-gnueabi-gdb vmlinux
gdb > set remotebaud 115200
gdb > set debug remote 1
gdb > target remote /dev/ttyS0
После этого, некоторые команды связи происходит по умолчанию.
qSupported
отправлено с Host to Target. Но qSuppoted не поддерживается целью, поэтому возвращается $ # 00. Аналогично команды?
,HC-1
были отправлены, но получили правильный ответ.Но команда
qOffsets
не получает никакого ответа от цели.
Я подозреваю, что vmlinux. Потому что, если я дам list
в БГД, его не показывает 10 строк кода вместо этого он говорит
arch/arm/kernel/head.S : No such file or directory.
Примечание :: Компиляция ядра сделано в сервере. поэтому в машине разработки нет источника. Но arm-gdb ищет голову. Кажется.
Я не знаю, какую ошибку им делать. Мне нужны символы для загрузки для всего ядра. Направляй меня в этом отношении.
Я не уверен, но у вас есть ядро, скомпилированное на «хосте», которое используется для отладки? & вы не переместили код где-нибудь еще? – anishsane
Вот почему он не может найти источник? – anishsane
«kgdb» требует, чтобы исходный код был доступен? Возможно, есть опция командной строки, чтобы сказать 'kgdb', чтобы не искать код. – BenjiWiebe