Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
ВнизКак проверить, все ли объекты уничтожаются программой? Найти похожие ветки
← →
_max_ (2005-12-08 16:07) [0]Если ли в Delphi средства, позволяющие отследить, все ли созданные программой объекты ею же уничтожены? Чтобы не плодить мусор в памяти, если где-то что-то забыл?
У меня Delphi 7
← →
Fay © (2005-12-08 16:10) [1]2 _max_ (08.12.05 16:07)
1) не знаю
2) IMHO, нужно не проверять, а обеспечивать.
← →
_max_ (2005-12-08 16:13) [2]> Fay
Кто-нибудь писал программу, в которой бы не было ни одной ошибки? Я не беру сложнейший код типа "ShowMessage("Hello world!);" :)
← →
umbra © (2005-12-08 16:16) [3]
> Если ли в Delphi средства, позволяющие отследить, все ли
> созданные программой объекты ею же уничтожены?
нет.
← →
_max_ (2005-12-08 16:18) [4]> umbra
Как тогда можно это сделать?
← →
Джо © (2005-12-08 16:34) [5]Используй альтернативные менеджеры памяти, например:
http://v.mahon.free.fr/pro/freeware/memcheck
Есть и другие, аналогичные.
← →
NiGGa © (2005-12-08 16:43) [6]Вопрос в количестве мусора. Может отладка того не стоит. Если у тебя утечка в несколько метров - забей :)
← →
umbra © (2005-12-08 16:46) [7]писать так, чтобы утечек не было. отлаживать, искать ошибки и т.д. этим программисты большую часть времени и занимаются
← →
Amoeba © (2005-12-08 16:48) [8]Утилита MemProof поможет отследить и локализовать все утески памяти.
http://www.automatedqa.com/downloads/memproof.asp
> NiGGa © (08.12.05 16:43) [6]
> Вопрос в количестве мусора. Может отладка того не стоит.
> Если у тебя утечка в несколько метров - забей :)
Не надо даваь вредные советы.
← →
evvcom © (2005-12-08 16:49) [9]Странно, что еще никто не упомянул MemProof. Но это не встроенное в Delphi средство.
← →
evvcom © (2005-12-08 16:49) [10]все-таки уже упомянули. :)
← →
NiGGa © (2005-12-08 18:21) [11][8] Amoeba © (08.12.05 16:48)
Почему же плохой совет? Вы формулировку вопроса верно прочитали?
...все ли созданные программой объекты ею же уничтожены...
...не плодить мусор в памяти, если где-то что-то забыл...
Кто это забыл? тот и забьет :) Я собственно если пишу Create или Create(nil) и т.п. не забываю писать Free.
Собственно наличие утечек = халатность программиста. Но это уже мое имхо.
← →
PVOzerski © (2005-12-08 18:27) [12]2NiGGa ©:
А все-таки совет этот - плохой. А если твое "немножко" после очередной переделки кода (или при использовании компонента с этим "немножко") попадет в цикл?
← →
NiGGa © (2005-12-08 18:30) [13]Ок. Тогда сформулируем так:
забей, только в цикл не суй!
Подойдет? Собственно утечка памяти имхо не есть такая большая проблема, если хоть часть ресурвос головного мозга потратить на контроль за тем что и как создается и освобождается.
← →
Leonid Troyanovsky © (2005-12-08 18:37) [14]
> _max_ (08.12.05 16:07)
> созданные программой объекты ею же уничтожены? Чтобы не
> плодить мусор в памяти,
Таким ответственным делом занимается сама OS.
Бо, нельзя доверяться грешным программерам.
--
Regards, LVT.
← →
alex_*** © (2005-12-08 20:10) [15]try..finally рулит!!
obj := TSomeObj.Create();
try
finally
obj.Free();
end;
← →
Дмитрий Белькевич (2005-12-09 02:31) [16]Рекомендую FastMM, проме всех прочих рулезов, помогает постоянно следить за утечками по ходу написания.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c