Re[5]: Отладочные символы
От: c-smile Канада http://terrainformatica.com
Дата: 26.01.10 05:18
Оценка:
Здравствуйте, samodelkin, Вы писали:

S>Здравствуйте, c-smile, Вы писали:


CS>>А каким образом наличие PDB поможет "разобрать случаи утечек памяти"?


S>В таком случае я увижу, какие места привели к утечкам и возможно пойму, как этого избежать. Пока же я просто вижу, что они есть и call-stack примерно следующией:

S>htmlayout+0x4fd08
S>Смещение 0x4fd08 мне ни о чем не говорит.

Я сильно подозреваю что и имя моей функции тебе ничего не скажет.

Есть такая штука class htmlayout::dom::expando .
С её помощью можно отследить висящие DOM элементы.
Алгоритм примерно следующий:

1) момент X проходим по всем элементам и назначаем на каждый свое expando.
При этом добавляем эти expando в map<HELEMENT,expando*>.
2) Закрываем окно или грузим другой документ. В процессе выгрузки будет вызван
expando::finalize() для всех элементов с expando.
По finalize() удаляем DOM элемент из map<HELEMENT,expando*>.

По завершению данной операции в map<> останутся зависшие элементы.
В большинстве случаев достаточно просто вывести их tag name чтобы понять где оно и что оно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.