Главная страница
    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.019 c
3-1131211822
Дмитрий Молчанов
2005-11-05 20:30
2005.12.25
Как прикруть индексы к существующему DBF файлу


14-1133281165
Serg1981
2005-11-29 19:19
2005.12.25
Что делать с жестким диском ?


14-1133348890
syte_ser78
2005-11-30 14:08
2005.12.25
Оцените доменное имя


2-1134022118
Sung
2005-12-08 09:08
2005.12.25
Русские буквы в консольном приложении


14-1133787571
syte_ser78
2005-12-05 15:59
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский