Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

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

 
_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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.054 c
8-1121836978
АМБ
2005-07-20 09:22
2005.12.25
Просмотр gif файлов


14-1133269095
ooops!!!
2005-11-29 15:58
2005.12.25
Исходник ICQ клиента


2-1133878661
vhs
2005-12-06 17:17
2005.12.25
не рабоатет клавиши delete ?!


2-1133902863
Конопелька
2005-12-07 00:01
2005.12.25
Hint Message in system tray !


14-1133500905
Nic
2005-12-02 08:21
2005.12.25
Не работает TV Tuner