Valgrind — это инструмент, позволяющий находить недостатки в программах, такие как ошибки при работе с памятью, неправильное разделение потоков, неинициализированные переменные и прочее.
В новой версии:
Поддержка ARM/Linux (ARMv7).
Поддержка свежих дистрибутивов Linux (gcc-4.5, glibc-2.12).
Поддержка Mac OS X 10.6 (32- и 64-бит).
Поддержка инструкций SSE4.2.
Улучшения профилировщика Callgrind, включая поддержку CPU с тремя уровнями кеша.
Новый экспериментальный профилировщик кучи DHAT.
Большое количество исправлений ошибок и мелких улучшений.
Вышла новая версия Valgrind - инструмента, предназначенного для отладки использования памяти, обнаружения утечек памяти, а также профилирования.
Список изменений включает:
Добавлена поддержка отладки Linux-приложений на архитектуре ARM-процессоров ARMv7, таким образом можно отлаживать приложения на телефоне Nokia N900;
Добавлена поддержка новых Linux-дистрибутивов Fedora 13 и Ubuntu 10.10, включая новые версии компилятора GCC (4.5.x) и библиотеки glibc (2.12.x).
Добавлена поддержка Mac OS X 10.6 для 32 и 64 битных исполняемых файлов.
Стал поддерживаться набор команд SSE 4.2 в режиме 64 бит. В 32-битном режиме поддерживается SSE только до 3 версии включительно.
Улучшена поддержка процессоров IBM POWER6.
В утилиту Cachegrind добавлен скрипт cg_diff, который находит разницу между двумя профилями, что позволяет легко вычислить влияние опций компиляции на производительность.
В утилиту отладки использования и утечек памяти Massif добавлена опция --pages-as-heap, которая позволяет учитывать выделение памяти не на уровне вызовов malloc()/new/new[], а на уровне выделенных страниц памяти, как это делают функции mmap()/brk(). Использовать подобный вывод сложнее, но он позволяет учитывать использование памяти до самого последнего байта.
Memcheck стал по умолчанию показывать возможно потерянную память.
Добавлен новый инструмент DHAT (Dynamic Heap Analysis Tool), который следит за выделением блоков "кучи" и выдаёт по ним полную статистику.
Улучшена поддержка отладки "плохого" самоизменяемого кода.
Добавлена поддержка отображения полных путей для файлов в сообщениях об ошибках с помощью гибкого параметра --fullpath-after.
Слегка улучшена масштабируемость отладки долгоработающих сложных приложений.