Описание тега valgrind
Valgrind - это инструментальная среда с открытым исходным кодом для создания инструментов динамического анализа. Первоначально он был разработан для Linux и с тех пор был перенесен на другие UNIX-подобные системы. Существуют инструменты Valgrind, которые могут автоматически обнаруживать множество ошибок управления памятью и потоков, а также детально профилировать ваши программы. Вы также можете использовать Valgrind для создания новых инструментов.
Valgrind работает, эффективно выполняя ваш код на виртуальной машине, где доступны дополнительные инструменты для детального отслеживания поведения вашего кода.
При инструментировании кода вы должны компилировать символы отладки, например -g2
или -g3
; и вам следует снизить оптимизацию, например-O0
или -O1
. Более высокая оптимизация иногда дает ложные срабатывания. Также см . Краткое руководство по Valgrind.
Доступные интерфейсы GUI:
- валькирия
- Alleyoop - это интерфейс Valgrind для среды GNOME
- KDevelop позволяет использовать Valgrind как плагин
- Пакет MemcheckView Tool Gear предоставляет скрипты для запуска инструмента Memcheck от Valgrind в последовательных и параллельных (MPI) программах и графический интерфейс на основе Qt для интерпретации результатов Memcheck.
- Eclipse имеет плагин с графическим интерфейсом для интеграции Valgrind в его инструменты разработки на C++.
Есть несколько инструментов для визуализации вывода Valgrind.
- kcachegrind. Это можно использовать с инструментами профилирования производительности cachegrind и callgrind. Его также можно использовать с выводом xtree memcheck и massif.
- визуализатор массива Отображает профили памяти, сгенерированные массивом
- онлайн массив визуализатор