Valgrind, как инструмент в Mac OS 10.7 (Lion) - PullRequest
8 голосов
/ 20 сентября 2011

Мне нужен инструмент, который помогает мне находить утечки памяти в программе переменного тока аналогично тому, как это делает valgrind.Она должна выяснить, когда программа перезаписывает память, которую она не должна (например, путем неправильного вычисления индекса массива).Я узнал, что есть утилита утечки наряду с приложением графических инструментов.

Однако я думаю, что он может просто найти память, выделенную для новой (или malloc), которая не была освобождена и больше не доступна.Также я узнал, что valgrind должен работать на старых версиях (10.5 и 10.6), но я использую lion (10.7).

Ответы [ 2 ]

8 голосов
/ 26 декабря 2011

Valgrind 3.7.0 (выпущено 5 th ноябрь 2011) поддерживает Lion.http://valgrind.org

4 голосов
/ 21 сентября 2011

Я бы использовал инструмент разработчика XCode MallocDebug . Это должно быть установлено с XCode в вашей папке / Developer

В качестве альтернативы, вы можете запустить ваше приложение в gdb и использовать собственную регистрацию malloc, запустив

% gdb <program name>
(gdb) set env MallocStackLoggingNoCompact 1
(gdb) run

Затем вы можете использовать /usr/bin/leaks и /usr/bin/malloc_history, чтобы найти очевидные утечки

...