отладка драйвера

Взгляд изнутри

Модератор: Модераторы разделов

Ответить
IMB
Сообщения: 2561
ОС: Debian

отладка драйвера

Сообщение IMB »

Доброго дня!
Так уж получилось, что мне приходится модифицировать или писать драйвера и, что не удивительно, они могут не заработать с первого раза.
В случае с пользовательскими программа всё более менее понятно - используем gdb, или другой дебагер. В драйверах можно обойтись использованием printk, но это не самый удобный путь и с его помощью затруднительно ответить на ряд вопросов.
Натыкался на сообщения, что при отладке модулей ядра также можно воспользоваться gdb, но к сожалению не могу найти описания.
Может быть кто-нибудь подскажет ссылку или поделится опытом, а может быть есть другие способы отладки?
Спасибо.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: отладка драйвера

Сообщение Stauffenberg »

KGDB

kernel-debugging-intro
oops-reading
gdb_tracepoints <-- в первую очередь ;)
http://lwn.net/images/pdf/LDD3/ch04.pdf
how-to-debug-linux-kernel-and-applications/ противоположное мнение
http://en.opensuse.org/Bugs/Kernel
developing-software-products-suse-linux-kernel-space-considerations

Что за модуль-то? После перезагузки можно посмотреть /var/log/boot.*
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
IMB
Сообщения: 2561
ОС: Debian

Re: отладка драйвера

Сообщение IMB »

Спасибо, буду изучать. Сейчас веду работу над V4L2-совместимым драйвером для CMOS-матрицы, нельзя сказать что нечто "революционное", но представленное в ядре нам не подходит.
Ну а так как всё это будет работать на встраиваемом решении, то мы ограничены и методы для "настольной" системы могут не всегда нам подходить.
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: отладка драйвера

Сообщение Stauffenberg »

В догонку... может кому еще понадобится:

http://lwn.net/Articles/115405/
http://b4open.ru/bin/view/B4/DebugFsUsageArticle
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Ответить