Доброго дня!
Так уж получилось, что мне приходится модифицировать или писать драйвера и, что не удивительно, они могут не заработать с первого раза.
В случае с пользовательскими программа всё более менее понятно - используем gdb, или другой дебагер. В драйверах можно обойтись использованием printk, но это не самый удобный путь и с его помощью затруднительно ответить на ряд вопросов.
Натыкался на сообщения, что при отладке модулей ядра также можно воспользоваться gdb, но к сожалению не могу найти описания.
Может быть кто-нибудь подскажет ссылку или поделится опытом, а может быть есть другие способы отладки?
Спасибо.
отладка драйвера
Модератор: Модераторы разделов
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: отладка драйвера
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.*
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)
"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)
Re: отладка драйвера
Спасибо, буду изучать. Сейчас веду работу над V4L2-совместимым драйвером для CMOS-матрицы, нельзя сказать что нечто "революционное", но представленное в ядре нам не подходит.
Ну а так как всё это будет работать на встраиваемом решении, то мы ограничены и методы для "настольной" системы могут не всегда нам подходить.
Ну а так как всё это будет работать на встраиваемом решении, то мы ограничены и методы для "настольной" системы могут не всегда нам подходить.
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: отладка драйвера
В догонку... может кому еще понадобится:
http://lwn.net/Articles/115405/
http://b4open.ru/bin/view/B4/DebugFsUsageArticle
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)
"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)
Спасибо сказали: