Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: CL | DM;

Вниз

Неудобный отчет по утечкам памяти в BDS2006.   Найти похожие ветки 

 
Gbp   (2006-06-24 18:45) [0]

Неудобный отчет по утечкам памяти в BDS2006.

Кто-нибудь знает как его сделать поинформативнее? Так он выводит совершенно безполезную информацию: номер блока памяти, размер блока и так далее, хорошо, что тип данных хоть выводит. Как добавить в отчет информацию о том, в какой строке произошло выделение памяти и так далее?


 
jack128 ©   (2006-06-24 20:07) [1]

Gbp   (24.06.06 18:45)
Как добавить в отчет информацию о том, в какой строке произошло выделение памяти и так далее?

это принципиально невозможно.


 
Gbp   (2006-06-24 20:10) [2]

так этот отчет в принципе неюзабелен? может из номера блока памяти можно вытянуть какую-нибудь информацию?


 
jack128 ©   (2006-06-24 20:22) [3]

Gbp   (24.06.06 20:10) [2]
так этот отчет в принципе неюзабелен?

почему неюзабилен?  Мне, по крайней мере, помогает.
Gbp   (24.06.06 20:10) [2]
может из номера блока памяти можно вытянуть какую-нибудь информацию?

вся возможная информация уже вытянута.


 
Kolan ©   (2006-06-24 21:04) [4]

Используй MemProof


 
Суслик ©   (2006-06-24 23:59) [5]

2avtor

новый манагер памяти собриает информацию так:
1. в конце работы проги смотрит утекшие блоки памяти
2. потом пытается понять, что это за блоки. он пытается догадаться и иногда делает это успешно. Например для строк проверяет, что во втором (или первом - не помню) двойном слове блока паяти содерижмтся длина блока, при этом последний байт блока равен 0. Если так, то манагер решает, что скорее всего это строка. Примерно также он работает с блоками утекшей памяти из под классов - смотрит первое двойное слово (типа указатеть на vmt), потом по указателю пытается понять класс это вообще или нет. Примерно так, может в деталях ошибаюсь.

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

ВОобще исходники манагера открыты. Можешь сам добавить специфичный для тебя анализ причин утечек.


 
Ketmar ©   (2006-06-25 00:03) [6]

>jack128 ©   (24.06.06 20:22) [3]
право же, далеко не вся...


 
jack128 ©   (2006-06-25 00:53) [7]

Ketmar ©   (25.06.06 0:03) [6]
например?


 
Ketmar ©   (2006-06-25 01:31) [8]

да на любой. анализ памяти (post ли mortem, или live) может дать намного больше. как именно -- я полагаю, не мне вам рассказывать.


 
Джо ©   (2006-06-25 04:41) [9]

> [1] jack128 ©   (24.06.06 20:07)
> это принципиально невозможно.

Отчего же? Я не копался в принципе, но ведь менеджер памяти MemCheck это как-то ведь делает (не всегда разруливает верно, но "где-то рядом" всегда выбрасывает).


 
_Seldon_   (2006-06-25 21:37) [10]

не знаю как в родном менеджере памяти bds2006 (который - суть покоцаный fastmm) - но в оригинальной версии fastmm можно включить FullDebugMode и тогда в логе для каждого лика будет указывацца CallStack с номерами строк и дамп первых 256 байт лика. правда при этом _очень_ страдает производительность менеджера.... но за всё надо платить :)


 
Суслик ©   (2006-06-25 21:51) [11]


> _Seldon_   (25.06.06 21:37) [10]


> не знаю как в родном менеджере памяти bds2006 (который -
>  суть покоцаный fastmm)

там этого нет.
видать сильно покацанный.
из поска утечек, только то, что я сказал. Да и еще с runtime пакетами фигово работает - не определяет часто имена классов.


 
_Seldon_   (2006-06-26 01:40) [12]

ну, значит скачай нормальный c fastmm.sf.net



Страницы: 1 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
15-1150775345
Некто
2006-06-20 07:49
2006.07.23
Была ветка про истории


15-1151300155
Ega23
2006-06-26 09:35
2006.07.23
С Днём рождения! 26 июня


15-1148976478
pasha_golub
2006-05-30 12:07
2006.07.23
ЧМ-2006. Турнир прогнозов.


2-1151820608
Новинький
2006-07-02 10:10
2006.07.23
with do, try, Execute...


2-1151913621
ZZZ_ZZZ
2006-07-03 12:00
2006.07.23
Алгоритм работы архиваторов