|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Alexei Dets 2:5020/400 30 Aug 2002 01:31:36 To : cheusov@scnsoft.com Subject : Re: Как отловить утечки памяти в С программе? --------------------------------------------------------------------------------
Hi!
cheusov@scnsoft.com wrote:
> Кстати, кто-нибудь посоветует, что-нибудь без перекомпиляции/линковки
> и чтобы с С++ и динамически слинкованными нормально работал?
Я в свое время боролся _три_ _недели_ с одним memory leak. Пришлось кучу
инструментов перепробовать :-)
Короче, есть пара хороших инструментов, которые отлично работают под Линукс
и могут работать без перелинковки (через LD_PRELOAD).
Это:
LeakTracer
valgrind
Оба, кстати, чекают не только утечку памяти. Первый умеет работать не только
под Linux (я его и на Solaris гонял). Поддерживают многопоточные программы.
У меня к ним только одна претензия - отлаживаемая программа не должна
форкаться, т.к. на этом они считают свою задачу выполненной (не, они оба
имеют ключи для отслеживания детей, но почему-то мне не удалось заставить
их работать). Я в основном первый мучал, весьма успешно. Рекомендую.
Алексей
ЗЫ. А стандартные библиотеки _действительно_ иногда текут, так что это они
правильно детектят. Hо можно выключить детектирование утечек в
библиотеках.)
ЗЫ2. В итоги выяснилсь, что настоящей утечки не было, просто на инкорректных
исходных данных программа начинала "распухать", накапливая их во внутренних
буферах :-)
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: InfoDesk, S.A. (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/64880105fd03.html, оценка из 5, голосов 10
|