Название: поглядеть сколько выделилось памяти Отправлено: linkr от Июнь 10, 2010, 18:15 во времени дебагинга возможно на определенной точке остановке? да и какие средства, для отлова утечек, на linux используют?
мне слот deleteLater() не внушает доверия, хочу проверить, правильно ли работает . зы разделом ошибся , перенесите плз Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 18:23 работает, успокойся. В qt мало критических утечек
valgrind кстати слабо в деструкторе брейкпойнт поставить?) и не надеюсь ты не отправляешь объект на удаление перед выходом из цикла событий? Название: Re: поглядеть сколько выделилось памяти Отправлено: linkr от Июнь 10, 2010, 18:41 работает, успокойся. В qt мало критических утечек valgrind кстати слабо в деструкторе брейкпойнт поставить?) в потоках не применяю деструкторы , а слот вызывается в нем, и объект не проверишь потом удалился или нет;) Цитировать и не надеюсь ты не отправляешь объект на удаление перед выходом из цикла событий? 'не' наверно лишняя ) в том то и дело , что ,вроде как ,так оно и есть))) цикла событий потока ))) Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 19:09 чем обусловлено отсутствие деструкторов?
соедини сигнал треда finished() со слотом в нем, который очистит всё. Только следи что этот слот выполнится в глав потоке скорее всего. Название: Re: поглядеть сколько выделилось памяти Отправлено: garryHotDog от Июнь 10, 2010, 19:15 у меня тоже было не доверие к deleteLater(); - проверял точкой останова в деструкторе и еще вот что :
Цитировать void QObject::destroyed ( QObject * obj = 0 ) [signal] - отловив этот сигнал - узнаешь что объект уничтожился!!!This signal is emitted immediately before the object obj is destroyed, and can not be blocked. All the objects's children are destroyed immediately after this signal is emitted. See also deleteLater() and QPointer. Название: Re: поглядеть сколько выделилось памяти Отправлено: linkr от Июнь 10, 2010, 19:31 у меня тоже было не доверие к deleteLater(); - проверял точкой останова в деструкторе и еще вот что : Цитировать void QObject::destroyed ( QObject * obj = 0 ) [signal] - отловив этот сигнал - узнаешь что объект уничтожился!!!This signal is emitted immediately before the object obj is destroyed, and can not be blocked. All the objects's children are destroyed immediately after this signal is emitted. See also deleteLater() and QPointer. супер... Авварон меня что-то пугает) подскажи нужную опцию, а то в новом созданном проекте Код: #include <QtGui/QApplication> получаю такой результат valgrind --leak-check=full --show-reachable=yes ./Lin_server Код: ==9227== LEAK SUMMARY: Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 19:56 валгринд - не ко мне... на маке он не работает для 64бит аппликух, и есть встроенная мегатулза к-ая с виду умнее валгринда (да еще и гуевая)
валгринд показывает в тч утечки разных статических объектов, которые не удаляются должным образом (косяк троллей, но на статики можно забить - они ж не утекают на самом деле). Гугли как это отсеять) Название: Re: поглядеть сколько выделилось памяти Отправлено: linkr от Июнь 10, 2010, 20:01 мак PC? версия? название тулзы?
Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 20:10 мак - macintosh... 10.6
тулза "запрятана" внутри /Developer/Applications/Instruments.app (зовется Leaks) та что /Developer/ApplicationsPerformance Tools/MallocDebug.app претендует на звание быть глючной (тк я ей не смог запустить ни 1 большое приложение) Название: Re: поглядеть сколько выделилось памяти Отправлено: Sahab от Июнь 10, 2010, 21:34 утечки разных статических объектов ???Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 21:52 Код: Class A Название: Re: поглядеть сколько выделилось памяти Отправлено: ритт от Июнь 10, 2010, 22:58 сравним с
Код: Q_GLOBAL_STATIC(Object, o) Название: Re: поглядеть сколько выделилось памяти Отправлено: Авварон от Июнь 10, 2010, 23:04 ага, только где про эти макросы прочесть можно?) то, что ты юзал в зип энжине, взрывает мозг;)
|