LINUX.ORG.RU

прямые руки :)

anonymous
()

Есть какие-то отладочные библиотеки, то есть прописываешь их в include вместо стандартных типа malloc.h что-то вроде dbgmalloc.h (название придумал) и будут ими вестись логи распределения памяти. Но я никогда их не использовал, только знаю, что есть такие. Попробуй погуглить на предмет memory leak debug library или что-то в этом роде.

anonymous_incognito ★★★★★
()

Vlagrind делает это весьма неплохо.

Dead ★★★★
()

Так на хуки можно повесить свои собственные функции вместо malloc,realloc, а в них уже выводить всю память выделенную/освобожденную

Chumka ★★★
()

Есть вот такое [ой не знаю, что будет с форматированием, а предпросмотра на LORе почему-то нет].

Recent versions of Linux libc (later than 5.4.23) and GNU libc (2.x) include a malloc implementation which is tunable via environment vari- ables. When MALLOC_CHECK_ is set, a special (less efficient) implemen- tation is used which is designed to be tolerant against simple errors, such as double calls of free() with the same argument, or overruns of a single byte (off-by-one bugs). Not all such errors can be protected against, however, and memory leaks can result. If MALLOC_CHECK_ is set to 0, any detected heap corruption is silently ignored; if set to 1, a diagnostic is printed on stderr; if set to 2, abort() is called immedi- ately. This can be useful because otherwise a crash may happen much later, and the true cause for the problem is then very hard to track down.

Для более продвинутых дейсвий есть ряд тулзов. Наиболее IMHO распространен efence.

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

Да, с этими отладчиками памяти вообще чудеса творяться ( похлеще тех, что творяться когда в твоей программе что-то не то с памятью :-) ):
у меня тож половина отладчиков сегфолтилась -- половина из них ещё при сборке.

При этом сейчас у меня valgrind прекрасно работает (ASP 10, ядро 2.6.11), а вот было дело -- присоветовал я valgrind одному челу с Gentoo (ядро тоже какое-то из последних). И у него на его программе он сейчас точно не помнб то ли совсем не то показывал, то ли ещё чего -- а у меня всё прекрасно показаал на той же программе.

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