Вышла версия 2.5.15 библиотеки DUMA (Detect Unintended Memory Access), распространяемой в рамках лицензии GPL и предназначенной для обнаружения проблем с выделением памяти в C/C++ программах.
Библиотека обладает следующими возможностями:
- "Перегружает" стандартные функции выделения/освобождения памяти, такие как malloc(), calloc(), memalign(), strdup(), new, new[], free(), delete, delete[];
- Обнаруживает несоответствия функций выделения/освобождения памяти, например выделение памяти с помощью malloc() и освобождение с помощью delete;
- Обнаруживает утечки памяти;
- Обнаруживает попытки доступа к освобождённой памяти;
- Останавливает выполнение программы на той команде, которая вызывает ошибку доступа к защищенной странице памяти. Это позволяет затем с помощью отладчика найти соответствующую этой операции строку в исходном коде программы;
- Предварительная загрузка библиотеки на Linux системах позволяет провести тесты без изменения исходного кода программы и перекомпиляции.
В директории "comparisons" архива с исходными кодами приведено сравнение библиотеки с аналогами, а также примеры, с помощью которых можно осуществить тестирование инструментов для обнаружения проблем с выделением памяти.
|