2009-04-14

DUMA 2.5.15 - библиотека для поиска утечек памяти в C/C++ программах

Вышла версия 2.5.15 библиотеки DUMA (Detect Unintended Memory Access), распространяемой в рамках лицензии GPL и предназначенной для обнаружения проблем с выделением памяти в C/C++ программах.

Библиотека обладает следующими возможностями:

* "Перегружает" стандартные функции выделения/освобождения памяти, такие как malloc(), calloc(), memalign(), strdup(), new, new[], free(), delete, delete[];
* Обнаруживает несоответствия функций выделения/освобождения памяти, например выделение памяти с помощью malloc() и освобождение с помощью delete;
* Обнаруживает утечки памяти;
* Обнаруживает попытки доступа к освобождённой памяти;
* Останавливает выполнение программы на той команде, которая вызывает ошибку доступа к защищенной странице памяти. Это позволяет затем с помощью отладчика найти соответствующую этой операции строку в исходном коде программы;
* Предварительная загрузка библиотеки на Linux системах позволяет провести тесты без изменения исходного кода программы и перекомпиляции.

В директории "comparisons" архива с исходными кодами приведено сравнение библиотеки с аналогами, а также примеры, с помощью которых можно осуществить тестирование инструментов для обнаружения проблем с выделением памяти.

Комментариев нет: