Вышла новая версия трассировщика ресурсов ART Resource Tracer 0.9
В рамках проекта ART (http://skylark.tsu.ru/art/) развивается набор программных средств для автоматизированного поиска ошибок, связанных с использованием ресурсов в прикладных программах и ядрах ОС. В настоящее время поддерживается трассировка программ на языке Си. Язык описания ресурсов допускает отслеживание широкого спектра ресурсов, таких как память, разнообразные дескрипторы и произвольные структуры.
Список возможностей:
- Обнаружение многократного освобождения ресурса
- Обнаружение утечек ресурсов
- Обнаружение ситуации когда функция захвата возвращает уже захваченный ресурс
- Обнаружение использования незахваченного ресурса
- Обнаружение использования ресурса после освобождения
- Обнаружение освобождения неиспользованного ресурса
- Обнаружение использования ошибочного (NULL для памяти, -1 для дескрипторов, ...) ресурса
- Обнаружение использования дикого ресурса
- Обнаружение освобождения ошибочного ресурса
- Обнаружение захвата памяти нулевого размера (malloc(), calloc(), realloc())
- Обнаружение попытки перераспределения дикой памяти
- Обнаружение перезахвата такого же объёма (эффективность)
Ветвь 0.8 под GPL (http://sourceforge.net/projects/art-project/) Ветвь 0.9 пока что проприетарная, но это легко изменить, если нужно будет.
Для загрузки доступны (http://skylark.tsu.ru/art/0.9/download/bin/0.9.00/) двоичные сборки под GNU/Linux и FreeBSD. Проекту требуется тестирование, описание ресурсов (сейчас в примерах есть несколько функций для работы с памятью, несколько функций по работе с "FILE*"), конструктивная критика, комментарии.