logo
ПЗ_А

2.3.5.Отладка драйверов

Проблема отладки – одна из основных проблем при написании драйверов. Обычные методы пошаговой отладки и трассировки в данной ситуации невозможны, т.к. драйвер выполняется не в пользовательском пространстве, а в пространстве ядра. В данной ситуации отладка осуществляется с помощью специальной функции printk, позволяющей выводить отладочные сообщения в буфер сообщения ядра.

В отличие от обычного вывода, функция printk позволяет классифицировать выводимые сообщения. Виды классификаций представляют собой обычные строки, добавляемые в начало выводимого сообщения. Например: «printk( KERN_DEBUG"Message" )». Возможные виды классификаций:

Включение и выключение определенного вида сообщений осуществляется с помощью флагов компиляции.

Не смотря на удобство функции printk, многократное ее использование замедляет работу драйвера, т.е. негативно сказывается на производительности.