Как отлаживать модули в Linux? Как их не будет исполняемый файл для модулей? Что сделает ELF? Только Makefile я выполнил и дал мне объектный файл и другие файлы.Отладка модуля в Linux
0
A
ответ
1
Как их не будет исполняемый файл для модулей?
Там нет исполняемого файла (например, a.out
), но есть ядро объектный файл *.ko
. Файлы объектов ядра: добавлено в или удалено из ядро через insmod
и rmmod
.
Так как минимум, вы должны быть в состоянии выполнить следующие действия для отладки модуля ядра:
- Locate самого модуля (
*.c
файла и соответствующий объект*.ko
ядра). - Добавить (много)
printk
- Восстановить ядро.
rmmod
старый модуль,insmod
новый версия.- Следите за журналами отладки, обычно через
dmesg
.
1
Есть несколько методов отладки по печати (т.е. printk), наблюдая, запрашивая Refer понять различные методы отладки для модуля. Очевидный метод мы можем использовать printk и после вставки (insmod
) и удаления (rmmod
) модуля и это сообщение можно увидеть в буфере ядра с помощью $dmesg
Часто есть отладочные версии библиотек и т.д. –
'printk' и его вариантов ваш друг (если вы имеете в виду модули ядра Linux). –