2015-12-01 4 views
0

Как отлаживать модули в Linux? Как их не будет исполняемый файл для модулей? Что сделает ELF? Только Makefile я выполнил и дал мне объектный файл и другие файлы.Отладка модуля в Linux

+0

Часто есть отладочные версии библиотек и т.д. –

+0

'printk' и его вариантов ваш друг (если вы имеете в виду модули ядра Linux). –

ответ

1

Как их не будет исполняемый файл для модулей?

Там нет исполняемого файла (например, a.out), но есть ядро ​​объектный файл *.ko. Файлы объектов ядра: добавлено в или удалено из ядро ​​через insmod и rmmod.

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

  • Locate самого модуля (*.c файла и соответствующий объект *.ko ядра).
  • Добавить (много) printk
  • Восстановить ядро.
  • rmmod старый модуль, insmod новый версия.
  • Следите за журналами отладки, обычно через dmesg.
1

Есть несколько методов отладки по печати (т.е. printk), наблюдая, запрашивая Refer понять различные методы отладки для модуля. Очевидный метод мы можем использовать printk и после вставки (insmod) и удаления (rmmod) модуля и это сообщение можно увидеть в буфере ядра с помощью $dmesg