LINUX.ORG.RU

Прога по обнаружение ликов, незакрытых дескрипторов...


0

0

Есть ли прога из под которой можно запустить другую прогу, чтоб посмотреть неосвобожденную память, незакрытые дескрипторы и все такое. Вобщем чистоту проверить. Желательно под консоль.

anonymous

Memory leak'и можно поймать с помощью ccmalloc, выходы за границу массива и т.п. с помощью Electric Fence.

asd
()

В GNU либах есть родные приблуды, я всех сейчас не помню,
но сам использую mtrace для контроля memory leak'ов.

#include <mcheck.h>
В начале подозрительного куска лепишь
mtrace()
В конце -
muntrace()

Если есть врапперы для malloc/calloc/free, заменяешь их на макросы.
Все лучше препроцессорными условиями обернуть, mtrace() тормозит
немерянно.

Компилишь с -g, перед запуском устанавливаешь переменную MALLOC_TRACE -
это будет имя файла, куда mtrace() положит протокол.

Во все Линуксовые дистрибутивы входит Перловый скрипт mtrace.
После того, как прога отработала, и появился лог, запускаешь:
mtrace <program> $MALLOC_TRACE
и она тебе все скажет.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Да, это все для C++ не годится - там только будешь знать, есть или нет memory leak'и,
а где - увы, в операторе new :)

Для C++ есть такое:
http://www.andreasen.org/LeakTracer/
но оно плохо работает, если есть статические объекты то, скорее всего,
сглючит.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Лик на C++ написать - это как же C++ не знать надо... шутка.

А если серьезно - то окромя Инсуре ( см. линк выше ) - ничего
дельного на линукс нет. На солярис/спарк, хп и вынь - есть
пурифай - серьезный тул. А на линукс - только Инсуре.
Все остальное ( из мною попробованного - буду рад если поправите )
- не работает - или же не видит лики.

omerm
()
Ответ на: комментарий от omerm

> А на линукс - только Инсуре.
У-у! Тогда (если оно работает) хочу.

Но я не понял - они что, деньги за это просят?
И, вообще, не нашел у них на сайте, как его достать.

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Деньги просят. Но можно скачать простую версию. Нужно посмотреть
на экране туда, где на скриншотах Греллм - вот там есть такая 
кнопочка Даун-Лоад... Заполняешь данные и качашь...

omerm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.