17-06-2011: Вышла версия 0.3 системы KEDR
Выпущена версия 0.3 системы KEDR, предназначенной для runtime-анализа модулей ядра Linux, в том числе драйверов устройств, модулей файловых систем и т.д. Инструменты из состава KEDR работают с модулем ядра, выбранным пользователем. Они позволяют отслеживать вызовы функций данным модулем и сохранять информацию о них в файле ("трасса вызовов"), имитировать нехватку системных ресурсов, выявлять утечки памяти.
Наиболее важные изменения в этой версии (подробная информация - в ChangeLog):
- Механизм обработки перехватываемых вызовов функций был переработан. В результате стало возможно выполнять несколько видов анализа одновременно. Например, теперь можно использовать для данного модуля ядра средства имитации системных сбоев (fault simulation) и проверять при этом, происходят ли в модуле утечки памяти.
- Компоненты KEDR, отвечающие за имитацию системных сбоев, теперь не связаны с механизмом вывода в трассу информации о вызовах функций и при необходимости могут использоваться независимо от него. Это удобно при применении KEDR на системах, где средства KEDR для работы с трассой не могут быть использованы по каким-либо причинам.
- Несколько усовершенствований и исправлений ошибок было сделано в утилите для сохранения трассы вызовов (kedr_capture_trace).
- Интерфейс для работы со стеком вызовов был переработан и упрощён. Теперь его можно использовать и тогда, когда функция save_stack_trace() ядром Linux не поддерживается.
- Обработка выделения и освобождения памяти сейчас выполняется асинхронно с использованием work queue. Это позволило существенно сократить длину и время выполнения критических секций в детекторе утечек памяти.
Загрузить KEDR можно с домашней страницы проекта: http://kedr.berlios.de/, а также с http://forge.ispras.ru/projects/kedr/files.
Online-документация: http://kedr.berlios.de/kedr-doc/index.html/
Освоение системы на примерах, шаг за шагом: http://kedr.berlios.de/kedr-doc/getting_started.html