Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
6-1127139449
Hamsterman
2005-09-19 18:17
2005.12.25
Возможно ли в Delphi программным путём посылать HTML forms?


2-1133983045
De1uxe
2005-12-07 22:17
2005.12.25
Что делаю не так?


2-1133957542
Aleks
2005-12-07 15:12
2005.12.25
Как узнать существует папка или нет??


2-1133787205
Antek
2005-12-05 15:53
2005.12.25
Удаление ярлыков с рабочего стола и пуска в Bat файлах


14-1133429390
Bogdan1024
2005-12-01 12:29
2005.12.25
виндоус блокирует длл




   Наверх