Вниз
Скачать: 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.026 c
14-1133813250
ZefiR
2005-12-05 23:07
2005.12.25
Проблема с екзешником....


2-1133945654
Daria
2005-12-07 11:54
2005.12.25
как очистить таблицу???


2-1134247378
JazY
2005-12-10 23:42
2005.12.25
Запрос на базе нескольких таблиц в Accesse.


1-1132940888
igi
2005-11-25 20:48
2005.12.25
Поиск в бинарном файле


2-1133871402
my_sweet
2005-12-06 15:16
2005.12.25
создание простейшего текстового редактора




   Наверх