ZenWay - Linux сегодня!
  • Главная
  • Форум
  • Контакты
  • Архив
  • Гостевая книга
×
Поиск по сайту
ГлавнаяHужное/полезноеАдминистрированиеСистемные утилитыValgrind

Valgrind

Системные утилиты, Администрирование, Hужное/полезноеПросмотров: 2320Комментарии: 010 апреля 2019 г.
Benchmark / Console / Perl / Администрирование / Комплект инструментов / Мониторинг

Valgrind — набор инструментов для выявления проблем при работе с памятью, обнаружения утечек памяти и профилирования.

Создавался Valgrind как инструмент для отладки использования памяти в GNU / Linux системах архитектуры x86, но позднее проект развился в обобщённый фреймворк для создания инструментов динамического анализа использования памяти, профилирования (сбора характеристик работы приложений) и поиска ошибок связанных с синхронизацией в многопоточных приложениях.

Valgrind имеет модульную архитектуру, выполняющего эмуляцию процессора ядра и модулей-анализаторов, выполняющих сбор и анализ информации полученной во время выполнения кода на эмуляторе.

Основным модулем Valgrind является memcheck, он обеспечивает обнаружение утечек памяти и прочих ошибок связанных с неправильной работой с областями памяти. Модуль cachegring анализирует выполнение кода, собирая данные (статистику) по всему приложению, отдельных функций и строк кода.

Модулем callgring анализируются вызовы функций, что позволяет построить древо вызова функций и соответственно проанализировать узкие места в работе приложения.

Модуль massif анализирует выделение памяти различными частям приложения, модуль helgrig анализирует выполняемый код на наличие различных ошибок синхронизации, при использовании многопоточного кода.

Valgrind достаточно проста в использовании, необходимые функции задаются опциями из командной строки, для исследуемого приложения никакой специальной подготовки не требуется. Анализируемое приложение запускается, с заданными аргументами (если требуется) и для него будет проведён поиск утечек памяти.

По умолчанию Valgrind запускает модуль memcheck, но пользователь может самостоятельно указать выполняемый модуль. Для облегчения использования можно часто используемые опции задать в конфигурационном файле (~/valgrindrc) и их не придётся вводить при каждом запуске (некоторое количество опций одинаковы для всех модулей).

Ошибки чтения и записи за пределами выделенной памяти, плюс ещё несколько видов ошибок выдаются сразу, в процессе работы приложения. Ошибки ведущие к утечкам памяти выводятся после завершения работы анализируемого приложения, в виде сводной таблицы описывающей количество найденных ошибок, а также выделение памяти.

Подробные данные записываются в файл (massif.out.), для их анализа может использоваться встроенная консольная утилита ms_print, выдающая данные в виде ASCII-графиков (или сторонние приложения, например Massif Visualizer).

Valgrind входит в состав практически всех GNU / Linux систем и хорошо документирована, имеется некоторое количество модулей считающихся экспериментальными (не очень стабильными), также пользователь может самостоятельно создавать модули анализирующие выполняемый код.

Лицензия: GNU General Public License version 2.0 (GPLv2)

Домашняя страница

Alleyoop
TIC-80
Автор: posixru
Еще записи по теме
Transparency
Transparency
FLTK
FLTK
tealdeer
tealdeer
Darik's Boot and Nuke ("DBAN")
Darik's Boot and Nuke ("DBAN")
Rodent (Rodent Delta)
Rodent (Rodent Delta)
Ulauncher
Ulauncher
Оставьте комментарий!

Используйте нормальные имена.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)

Рубрики
  • Hовости
  • Изучаем Linux
  • Обзоры Linux ПО
    • Hужное/полезное
    • Аудио и видео ПО
    • Графика
    • Офисное ПО
    • Интернет ПО
    • Образовательные
    • Игры
    • Администрирование
    • Системные утилиты
    • Прочие
    • Shareware / Demo
  • Дистрибутивы
  • Дополнительные материалы
Последние комментарии
Profanity
  • zon » проше научится свой клиент написать чем разобратся куда что клацать для отправки получения месаг.
  • vovans » Тут не нужно ничего "клацать". Достаточно пару раз на хоткеи посмотреть.
noteshrink
  • Аноним » Теперь есть плюсовая (не пайтон) версия: //github. com/ ImageProcessing - ElectronicPublications /noteshrink-c/ releases
Page dewarp
  • Аноним » Теперь есть плюсовая (не пайтон) версия: //github. com/ ImageProcessing - ElectronicPublications /pagedewarp/ releases
Strawberry Music Player
  • Rododendron » А как добавить радиостанции в плеер? Нигде найти не могу.
Runtu LITE
  • Бубликус » Прикольно.
Полифон (Polyphone)
  • Игорь » Возможно ли ознакомиться с Руководством по обращению с Polyphone на русском языке ?
NEdit (Nirvana Editor)
  • uxer » Nedit не поддерживает кириллицу и вообще юникод.У меня вместо буков азбуки отображает вот такое:здар ова, а...
DeaDBeeF
  • algri14 » Есть ещё плеер mpz — mpz-player.org , там же ссылка на подключение репо автора.
iMule (невидимый Mule)
  • Сергей » Мусьё не читатель, мусьё писатель? Написано же:I2P маршрутизатор должен быть установленВот его и ставим, запускаем...
Форум
[18/11/2022 11:54:52]
vscode and c/c++
[31/08/2022 12:25:53]
Tor Browser
[26/08/2022 07:57:14]
Музыкальный калейдоскоп
[22/05/2022 15:45:40]
Стратегии RTS
[30/03/2022 09:05:20]
Заметки с синхронизацией
[01/03/2022 20:15:05]
Говорильня (дискуссионный клуб)
[13/02/2022 11:44:28]
[РЕШЕНО] права на запись в примонтированный образ диска (raw.img)
[07/02/2022 13:22:01]
Конвертировать текст набаранный в неправильной раскладке
[04/02/2022 20:35:22]
Редактор тегов
Облако меток
2D338 3D241 ALSA68 ASCII120 Android1 Arch Linux38 Audio416 Backup80 Benchmark78 Bluetooth2 C++969 CD48 Console1318 DJ-система17 DVD47 Debian28 DjVu22 Enlightenment19 FFmpeg191 FLTK29 FPS40 FREE155 FTP18 FVWM21 Fluxbox40 GIMP24 GNU26 GPS22 GTK1302 GUI801 Gambas11 Games686 Gentoo3 Gnome349 Gstreamer133 HDD122 HDR7 HTML62 Hex-редактор14 ICQ17 IP-сети25 IP-телефон22 IRC31 ISO39 IceWM22 ImageMagick56 JACK99 Jabber35 Java308 JavaScript115 KDE209 LAN29 LXDE37 LaTeX66 Live-CD70 Live-DVD55 Live-USB53 Lua61 MATE32 MEncoder31 MIDI91 MMORPG12 Mail42 Markdown53 Mono53 Mplayer75 MySQL2 OSS9 Open Source14 OpenGL301 Openbox89 P2P51 PDF133 PHP12 Pascal17 Perl102 Phonon27 PulseAudio17 Python759 QT894 RAW34 RPG101 RSS53 RTS42 Roguelike70 Ruby19 Rust15 SDL312 SVG39 Screencast32 Screenshot61 Script78 Slackware66 TOR17 TOX3 Tk39 Torrent67 Ubuntu69 VLC16 Vala64 Web629 WebKit72 WebUI34 WiFi47 Window Maker16 Wine8 XMPP35 Xfce70 Xine14 YouTube80 video4linux27 wxWidgets108 Автоматизация31 Администрирование335 Анонимная сеть47 Антивирус14 Апплет120 Аркада235 Архиватор11 Астрономия36 Аудио конвертер70 Аудио редактор50 Аудиоплеер184 Безопасность243 Бизнес-приложение4 Браузер87 Бродилка203 Бухгалтерия11 Веб-камера36 Видео148
© Zen Way, 2023. Работает на MaxSite CMS | Время: 0.1717 | SQL: 19 | Память: 8.73MB | Вход