Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1133426979
general
2005-12-01 11:49
2005.12.25
Ограничение на длину элемента списка в TMemo


3-1131359266
M@xim
2005-11-07 13:27
2005.12.25
Клиент - сервер


14-1133363929
oldman
2005-11-30 18:18
2005.12.25
Вот такой интересный вопрос правайдерам...


3-1131020357
Juice
2005-11-03 15:19
2005.12.25
Читающая транзакция в dbExpress


14-1133813250
ZefiR
2005-12-05 23:07
2005.12.25
Проблема с екзешником....





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский