![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить, все ли объекты уничтожаются программой? [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, нужно не проверять, а обеспечивать.