02-03-2011: Вышла версия 0.2 системы KEDR

Выпущена версия 0.2 системы KEDR, предназначенной для runtime-анализа модулей ядра Linux, в том числе драйверов устройств, модулей файловых систем и т.д. Инструменты из состава KEDR позволяют отслеживать вызовы функций из модуля, выбранного пользователем, и сохранять информацию о них в файле ("трасса вызовов"), имитировать нехватку системных ресурсов, выявлять утечки памяти.

В версии 0.2 несколько компонентов KEDR были переработаны, а также были исправлены различные ошибки.

Наиболее важные изменения (подробная информация - в ChangeLog):

  • Полностью переписана подсистема работы с трассой. Новый вариант более гибок и более надёжно работает на SMP-системах. В частности, вероятность того, что трассе сообщения будут в неправильном порядке, сейчас значительно меньше, чем при использовании старого варианта на основе ftrace.
  • Подготовлен детектор утечек памяти.
  • Добавлена возможность проводить имитацию системных сбоев и для заданных областей в коде анализируемого модуля (т.е., например, только для кода из определённых функций или наоборот, для всех функций, кроме заданных). Это работает, если ядро предоставляет надёжные средства для получения стека вызовов.
  • Исправлены ошибки, мешавшие работе KEDR с версиями ядра 2.6.37 и 2.6.38.
  • Добавлена возможность отслеживать вызовы ещё 20 функций ядра. Для многих из них добавлена возможность имитации сбоев, также это сделано и для функций из группы vmalloc().
  • Исправлены ошибки, связанные с параллельной сборкой KEDR (make -j N).

Загрузить KEDR можно с домашней страницы проекта: http://kedr.berlios.de/

Online-документация: http://kedr.berlios.de/kedr-doc/index.html/

Освоение системы на примерах, шаг за шагом: http://kedr.berlios.de/kedr-doc/getting_started.html