URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2323
[ Назад ]

Исходное сообщение
"дамп памяти программы"

Отправлено jamper , 26-Ноя-03 20:06 
Есть программа в ней мемори лик
При запуске она занимает 700Кб (в принципе норма)
но потом начинает нарастат
Суть проблемы ... я перелопатил весь код...но лик не нашел
Появилась бредовая идея сделать дамп памяти проги и покопавшись в нем получить хоть какую инфу

Как его сделать (к несчастью она не подвержена сег фаилт и дампы не бросает) средсвами ОС (red Hat 7.2 или Free BSD 4.4-4.9 по выбору)

Можно ли через gdb
Просьба не писать rtfm читал ... мне нужен совет
Спасибо

С уважением Черногоский Михаил


Содержание

Сообщения в этом обсуждении
"дамп памяти программы"
Отправлено ed , 27-Ноя-03 11:05 
killall -QUIT a.out
gdb ./a.out a.out.core (или core в linux)

"дамп памяти программы"
Отправлено vvv , 27-Ноя-03 11:16 
Да зачем тебе это? Вряд-ли чего так найдешь.
Попробуй просто переопределить все malloc и free типа
v_malloc(int type, size_t size)
type - откуда выделяешь, size - размер.
и смотри где (type) утечка.
и заодно определи переменную окружения MALLOC_CHECK_=1(libc > 5.4.23)

А вообще есть готовые средства для этого.


"re:"
Отправлено jamper , 28-Ноя-03 10:51 
2 ed спасибо проверю
2 vvv а готовые средства какие ?


"re:"
Отправлено vvv , 28-Ноя-03 12:59 
>2 vvv а готовые средства какие ?

есть куча библиотек - которые отлавливают утечки памяти и еще кучу всего.
подключаешь ее, и юзаешь malloc, realloc, free из этой библиотеки.
По запросу получаешь статистику.

например Dmalloc.


"re:"
Отправлено jamper , 28-Ноя-03 13:25 
2 vvv спасибо посмотрю