Re[3]: Утечка памяти
От: Kemm  
Дата: 01.03.06 13:34
Оценка:
Здравствуйте, ginger24, Вы писали:

G>>>Чем омжно отследить утечку памяти? Пишу под g++ FreeBSD, программа в памяти раздувается до размера примерно пол-гига памяти после чего дохнет

G>>>Не могу отследить, где там что переполняется, при запуске программа уходит в ежим демона и там крутятся несколько циклов, с чего начать?
K>>/usr/ports/devel/valgrind
K>>Иногда под FreeBSD работает некорректно, тогда миеет смысл найти линукс и прогнать под valgrind'ом там.
G>А как оно работает, по русски дока есть? А то у меня уже башка не варит

Ставишь, потом запускаешь примерно так:
valgrind --tool=memcheck --trace-children=yes \
         --suppressions=./vg.supp --num-callers=8 \
         --memcheck:leak-check=yes --memcheck:leak-resolution=high \
         /path/to/your/daemon --daemon-arg1 --daemon-arg2 2>&1 | tee vg.log


По выходу демона (или пришибанию valgrind'а SIGTERM'ом) получишь на экране и в vg.log сообщения об ошибках, в том числе о ликах с указанием места выделения памяти.

G>пробовал gdb6 использовать, но не могу им ничего отловить


gdb-то чем поможет утечки ловить?..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.