Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить, все ли объекты уничтожаются программой? [D7, Win2k]


_max_ ©   (2005-12-08 16:07:00) 

Если ли в Delphi средства, позволяющие отследить, все ли созданные программой объекты ею же уничтожены? Чтобы не плодить мусор в памяти, если где-то что-то забыл?
У меня Delphi 7


Дмитрий Белькевич   (2005-12-09 02:31:00) [1]

Рекомендую FastMM, проме всех прочих рулезов, помогает постоянно следить за утечками по ходу написания.


alex_***   (2005-12-08 20:10:00) [2]

try..finally рулит!!

obj := TSomeObj.Create();
try
finally
 obj.Free();
end;


Leonid Troyanovsky   (2005-12-08 18:37:00) [3]


> _max_   (08.12.05 16:07)  

> созданные программой объекты ею же уничтожены? Чтобы не
> плодить мусор в памяти,


Таким ответственным делом занимается сама OS.
Бо, нельзя доверяться грешным программерам.

--
Regards, LVT.


NiGGa   (2005-12-08 18:30:00) [4]

Ок. Тогда сформулируем так:
забей, только в цикл не суй!

Подойдет? Собственно утечка памяти имхо не есть такая большая проблема, если хоть часть ресурвос головного мозга потратить на контроль за тем что и как создается и освобождается.


PVOzerski   (2005-12-08 18:27:00) [5]

2NiGGa ©:
А все-таки совет этот - плохой. А если твое "немножко" после очередной переделки кода (или при использовании компонента с этим "немножко") попадет в цикл?


NiGGa   (2005-12-08 18:21:00) [6]

[8] Amoeba ©   (08.12.05 16:48)
Почему же плохой совет? Вы формулировку вопроса верно прочитали?

...все ли созданные программойобъекты ею же уничтожены...

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

Кто это забыл? тот и забьет :) Я собственно если пишу Create или Create(nil) и т.п. не забываю писать Free.

Собственно наличие утечек = халатность программиста. Но это уже мое имхо.


evvcom   (2005-12-08 16:49:00) [7]

Странно, что еще никто не упомянул MemProof. Но это не встроенное в Delphi средство.


evvcom   (2005-12-08 16:49:00) [8]

все-таки уже упомянули. :)


Amoeba   (2005-12-08 16:48:00) [9]

Утилита MemProof поможет отследить и локализовать все утески памяти.
http://www.automatedqa.com/downloads/memproof.asp


> NiGGa ©   (08.12.05 16:43) [6]
> Вопрос в количестве мусора. Может отладка того не стоит.
>  Если у тебя утечка в несколько метров - забей :)

Не надо даваь вредные советы.


umbra   (2005-12-08 16:46:00) [10]

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


NiGGa   (2005-12-08 16:43:00) [11]

Вопрос в количестве мусора. Может отладка того не стоит. Если у тебя утечка в несколько метров - забей :)


Джо   (2005-12-08 16:34:00) [12]

Используй альтернативные менеджеры памяти, например:
http://v.mahon.free.fr/pro/freeware/memcheck
Есть и другие, аналогичные.


_max_   (2005-12-08 16:18:00) [13]

> umbra
Как тогда можно это сделать?


umbra   (2005-12-08 16:16:00) [14]


> Если ли в Delphi средства, позволяющие отследить, все ли
> созданные программой объекты ею же уничтожены?


нет.


_max_   (2005-12-08 16:13:00) [15]

> Fay
Кто-нибудь писал программу, в которой бы не было ни одной ошибки? Я не беру сложнейший код типа "ShowMessage('Hello world!);" :)


Fay   (2005-12-08 16:10:00) [16]

2 _max_   (08.12.05 16:07)
1) не знаю
2) IMHO, нужно не проверять, а обеспечивать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо