Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: kuzulis от Март 21, 2010, 23:43



Название: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 21, 2010, 23:43
Доброго времени.

Собственно сабж (под MinGW)

Иногда приложение сегфолтится. Чем бы отловить это дело?


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: niXman от Март 21, 2010, 23:50
valgrind

а вообще, std::shared_ptr<>, boost::shared_ptr<>

еще http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows (http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows) тут говорится про это.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: lit-uriy от Март 21, 2010, 23:55
>>valgrind
он вроде под виндовозом не работает



Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: niXman от Март 21, 2010, 23:56
>>valgrind
он вроде под виндовозом не работает
да, я не сразу понял что речь про венду.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 22, 2010, 08:22
Ну так что под винду то? :)


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: alexman от Март 22, 2010, 09:13
IBM Rational Purify
BoundsChecker


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SASA от Март 22, 2010, 10:01
BoundsChecker это надстройка к студии. Интерфейс понятный, ловит утечки отлично. Кроме утечек позволяет профилирвать, смотреть покрытие кода. Но я не смог проверить утечки для приложения с плагинами :-[


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 22, 2010, 11:17
Ну а если у меня ну НЕТУ студии, то чем пользоваться?
Что, только и есть IBM Rational Purify и всё?

Кто чем пользуется с MinGW ?


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: alexman от Март 22, 2010, 11:49
Insure++


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 22, 2010, 12:47
спс


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 23, 2010, 20:50
ёлки, Insure++ весит ~700 метров. Дайте кто-нить ссылку в личку на "провереный" скач. т.к. еще видел в сети  v 7.0.8 (там около 12 метров) - но сцылки битые все :(


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SABROG от Март 23, 2010, 23:08
Жалко, что не существует настроенного пакета типа: VirtualBox + Небольшой образ с установленной Linux + На нем свежая Qt + Valgrind. Чтобы это все ставилось через Setup и программисту бы оставалось только кликнуть на значок, который автоматом загрузит образ на котором можно было бы собрать своё Qt приложение и потестить на предмет утечек. И чтобы это всё можно было бы бросить на флешку, скажем 500Мб и перенести на любой другой компьютер.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: kuzulis от Март 24, 2010, 08:24
Цитировать
Жалко, что не существует настроенного пакета типа: VirtualBox + Небольшой образ с установленной Linux + На нем свежая Qt + Valgrind. Чтобы это все ставилось через Setup и программисту бы оставалось только кликнуть на значок, который автоматом загрузит образ на котором можно было бы собрать своё Qt приложение и потестить на предмет утечек. И чтобы это всё можно было бы бросить на флешку, скажем 500Мб и перенести на любой другой компьютер.

и не говорите... :(

PS:  я уже неделю бьюсь над крэшем приложения и у меня складываться начинает впечатление, что Win32 API кривое и всё проблемы изза него :)


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SASA от Март 24, 2010, 10:24
Жалко, что не существует настроенного пакета типа: VirtualBox + Небольшой образ с установленной Linux + На нем свежая Qt + Valgrind.
Есть утечки, которые проявляются только на конкретной платформе.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SABROG от Март 24, 2010, 16:20
Есть утечки, которые проявляются только на конкретной платформе.

Я всегда подозревал, что невозможно написать идеальное приложение, особенно, когда от тебя это не зависит.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: niXman от Март 24, 2010, 16:54
Цитировать
Есть утечки, которые проявляются только на конкретной платформе.
хоть мизерный пример пожалуйста. когда утечка - это следствие компилятора или STL

Цитировать
Я всегда подозревал, что невозможно написать идеальное приложение
идеальное - нет. но избежать утечек памяти просто.

Цитировать
особенно, когда от тебя это не зависит.
о чем речь?


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SABROG от Март 24, 2010, 18:56
о чем речь?

О слове "платформа" под которой подразумевается, видимо, ОС и утечки внутри ядра операционки... Если valgrind способен такое отлавливать, то честь ему и хвала, если факт утечки в ОС вообще существует. Максимум, что может сделать программист в таком случае это обойти проблему и отправить багрепорт.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SASA от Март 25, 2010, 16:50
Цитировать
Есть утечки, которые проявляются только на конкретной платформе.
хоть мизерный пример пожалуйста. когда утечка - это следствие компилятора или STL
Я имел ввиду течи qt.


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: niXman от Март 25, 2010, 18:36
SASA, а есть хоть какое-то обоснование?


Название: Re: Чем проверить утечку памяти в Windows ?
Отправлено: SASA от Март 26, 2010, 00:20
SASA, а есть хоть какое-то обоснование?
http://www.prog.org.ru/index.php?topic=7602.msg38605#msg38605
4.4.3 это исправили.