Как отладить ядро ​​Linux с помощью GDB и QEMU?

Я новичок в разработке ядра и хотел бы знать, как запускать/отлаживать ядро ​​Linux с помощью QEMU и gdb. На самом деле я читаю книгу Роберта Лава, но, к сожалению, она не помогает читателю установить правильные инструменты для запуска или отладки ядра... Итак, что я сделал, так это последовал этому руководствуhttp://opensourceforu.efytimes.com/2011/02/kernel-development-debugging-using-eclipse/. Я использую eclipse в качестве IDE для разработки на ядре, но я хотел сначала заставить его работать под QEMU/gdb. Итак, что я сделал до сих пор:

1 )Для компиляции ядра с помощью:

make defconfig (then setting the CONFIG_DEBUG_INFO=y in the.config)
make -j4

2 )После завершения компиляции я запускаю Qemu, используя:

qemu-system-x86_64 -s -S /dev/zero -kernel /arch/x86/boot/bzImage

которые запускают ядро ​​в "остановленном" состоянии

3 )Таким образом, я должен использовать gdb, я пробую следующую команду:

gdb./vmlinux

которые запускают его правильно, но... Теперь я не знаю, что делать... Я знаю, что мне нужно использовать удаленную отладку на порту 1234 (по умолчанию, используемом Qemu ), используя vmlinux в качестве файл таблицы символов для отладки.

Итак, мой вопрос: :Что мне делать, чтобы запустить ядро ​​на Qemu,прикрепите к нему мой отладчик и, таким образом, заставьте их работать вместе, чтобы облегчить мою жизнь при разработке ядра.

32
задан Ciro Santilli 新疆改造中心法轮功六四事件 18 February 2017 в 13:13
поделиться