Valgrind — инструментальная среда для создания инструментов динамического анализа. Существуют инструменты Valgrind, которые могут автоматически обнаруживать многие ошибки управления памятью и многопоточности, а также детально профилировать ваши программы. Вы также можете использовать Valgrind для создания новых инструментов.
В настоящее время дистрибутив Valgrind включает в себя шесть инструментов производственного качества: детектор ошибок памяти, два детектора ошибок потоков, профилировщик кеша и прогнозирования ветвлений, профилировщик кэша, создающий граф вызовов, и профилировщик кучи. Он также включает в себя три экспериментальных инструмента: детектор переполнения кучи/стека/глобального массива, второй профилировщик кучи, который исследует, как используются блоки кучи, и базовый генератор блочных векторов SimPoint.