Есть код модуля ядра OC, именно, драйвера (DragonFlyBSD:). Ситуация банальна: аллоцировали память, освободить забыли. Где именно освобождать - понятия не имею. Вот вчера весь вечер просидел и удалось только понять, что дело в том, что забыли вызвать некую функцию для освобождения памяти.
Есть ли такие инструменты для анализа кода без его выполнения (ибо использовать отладчик (нормальный, а не встроенный ddb) нету возможности), чтобы построить графы вызова функций (сейчас пробую для этого doxygen:), проанализировать корреляцию вызовов 2 функций/использования 2 переменных. Также анализ схожести/различности 2 участков кода, делающих одну задачу.
Сейчас читаю в википедии про статический анализ кода. Может найду, что мне нужно.
И да, извините за столь непонятный поток сознания, я просто не знаю всех возможностей отладочного софта, не знаю, из чего приходится выбирать. Просто скажите, что бы вы стали использовать для отладки кода ядра.
P.S. Ещё немного о моей проблеме: не работает USB OHCI звуковуха. Чтобы локализовать проблему может быть полезным поработать с USB EHCI (например) звуковухой и с любым другим OHCI-устройством. Есть ли эмуляторы, способные эмулировать (масло-масляное:) большое кол-во USB устройств?