Здравствуйте, 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 чтобы понять где оно и что оно.