Название: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 07, 2010, 08:32 Никто не юзал Deleaker для контроля за утечками памяти?
Просто студия иногда показывает утечки памяти, все говорят забей, студия не видит, что отрабатывают некоторые деструкторы... С другой стороны, утечки могут быть и не связаны именно с этим, а являться самыми что ни на есть утечками))) Во общем решил попрообовать проверить приложение сторонней утилитой, в данном случае Deleaker'ом и вот что я получил: Searching for allocated memory block: leaks detected Searching for created GDI objects: leaks not detected Searching for created USER objects: leaks not detected Searching for created handles: leaks detected Не могли бы вы разъяснить, что есть GDI, USER, и стоит ли обращать внимание на утечки памяти в handles? И что значит 1я строчка? Спасибо) Название: Re: Никто не юзал Deleaker? Отправлено: lit-uriy от Мая 07, 2010, 10:12 вроде как первая строчка это как раз new/delete, т.е. выделение памяти
Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 07, 2010, 11:13 вроде как первая строчка это как раз new/delete, т.е. выделение памяти Думаете это м.б. серъезно? А что про handles? Я подумал, м.б. это такие объекты, которые создаются, а их удаление берет на себя ОС, т.е. по завершению работы программы память освобождается. Название: Re: Никто не юзал Deleaker? Отправлено: Гурман от Мая 07, 2010, 12:48 Цитировать Думаете это м.б. серъезно? о чем этот вопрос? если о серьезности утечки памяти, то конечно серьезно... если о правдивости Deleaker - меня это тоже интересует, поскольку хочется проверить у себя утечки, чужой опыт приветствуется handles - это ссылки виндозы на ее системные объекты, программа захватывала объекты и не освобождала их, это означает, что в какой-то момент свободных хэндлов может не хватить, и наступит облом, причем системный Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 07, 2010, 13:02 Цитировать Думаете это м.б. серъезно? о чем этот вопрос? если о серьезности утечки памяти, то конечно серьезно... если о правдивости Deleaker - меня это тоже интересует, поскольку хочется проверить у себя утечки, чужой опыт приветствуется handles - это ссылки виндозы на ее системные объекты, программа захватывала объекты и не освобождала их, это означает, что в какой-то момент свободных хэндлов может не хватить, и наступит облом, причем системный протестил несколько проектов из qt-example Deleaker'ом, на них он пишет тоже что и у меня, т.е. detected на memory block и handles. Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 07, 2010, 13:05 Может ли это быть неким qt-шным багом, который разработчикам qt еще предстоит исправить?
Или просто Deleaker врет? ??? Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 07, 2010, 13:15 Создал самый что ни на есть пустой проект на MFC. Запустил, прогнал через Deleaker.
Результат: Searching for allocated memory block: leaks detected Searching for created GDI objects: leaks not detected Searching for created USER objects: leaks not detected Searching for created handles: leaks not detected Далее, создал проект win32 console application: Код: #include "stdafx.h" Результат работы Deleaker'а остался прежним: Searching for allocated memory block: leaks detected Searching for created GDI objects: leaks not detected Searching for created USER objects: leaks not detected Searching for created handles: leaks not detected Исходя из этого можно сделать вывод, что на строчку про memory block можно не обращать внимания. Остается вопрос с handles... м.б. в консольном приложении они и не затрагиваются вообще (или я ошибаюсь?), но в MFC то должны наверное! Что с handles в Qt происходит, товарищи? ??? Название: Re: Никто не юзал Deleaker? Отправлено: umts от Мая 07, 2010, 20:37 Обнаружение утечек памяти в MS Visual Studio. Пока не подводило.
http://www.rsdn.ru/article/vcpp/leaks.xml Название: Re: Никто не юзал Deleaker? Отправлено: lit-uriy от Мая 08, 2010, 00:01 >>Исходя из этого можно сделать вывод
вывод надо делать, когда программа покажет, где именно утечка. А если она говорит только, что "мол есть утечка", то такой программе место на помойке. Название: Re: Никто не юзал Deleaker? Отправлено: Гурман от Мая 08, 2010, 17:42 Цитировать Остается вопрос с handles... м.б. в консольном приложении они и не затрагиваются вообще (или я ошибаюсь?), но в MFC то должны наверное! handles используются когда начинаете работать с окнами если уж взялись тестировать, проверьте плз на простейшем Qt-приложении с одним окном Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 11, 2010, 09:10 >>Исходя из этого можно сделать вывод вывод надо делать, когда программа покажет, где именно утечка. А если она говорит только, что "мол есть утечка", то такой программе место на помойке. Ну она в общем-то и показывает, тока ссылки на код, где происходит выделение6 якобы утекаемой памяти, находятся вне моего ведения))) Т.е. код либо Qt-шный, либо win api. Название: Re: Никто не юзал Deleaker? Отправлено: dr_Begemot от Мая 11, 2010, 09:11 Цитировать Остается вопрос с handles... м.б. в консольном приложении они и не затрагиваются вообще (или я ошибаюсь?), но в MFC то должны наверное! handles используются когда начинаете работать с окнами если уж взялись тестировать, проверьте плз на простейшем Qt-приложении с одним окном Я проверял несколько простейших примеров из qt-example: Searching for allocated memory block: leaks detected Searching for created GDI objects: leaks not detected Searching for created USER objects: leaks not detected Searching for created handles: leaks detected |