Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
ВнизМусор в памяти после жизнедеятельности программы. Найти похожие ветки
← →
AlexanderMS © (2006-12-22 19:49) [0]Могу ли я как-нибудь узнать, оставляет ли моя программа в памяти мусор после её завершения? Ну вдруг Free где-нибудь забуду поставить, а ведь так просто и не узнать, что и где забыл. Подумано ли об этом?
← →
Kolan © (2006-12-22 19:56) [1]Можешь, для этого тебе понадобится «детектор утечек»…
1… MemProof
2… MemCheck
3… Можно взять BDS200 таем есть встроеный…
← →
Anatoly Podgoretsky © (2006-12-22 19:57) [2]> AlexanderMS (22.12.2006 19:49:00) [0]
По окончание работы вся память возвращается
← →
ors_archangel © (2006-12-22 21:21) [3]
> Подумано ли об этом?
Об этом подумали M$ и Intel:
Каждый процесс работает в виртуальном адрессном пространстве, которое уничтожается вместе с процессом, т.о. любые выделенные страницы освобождаются, если твоя программа и оставляет в памяти мусор, то он весь вычищается ОС
← →
Kolan © (2006-12-22 21:27) [4]> то он весь вычищается ОС
Но, ИМХО, лучьше на это не надеятся и делать самому все…
← →
ors_archangel © (2006-12-22 23:06) [5]
> лучьше на это не надеятся и делать самому все
Я вообще считаю, что создание и уничтожение сущностей избытоно, когда в языке чётко разграничены области видимости для каждой переменной. Например, мы же не пишем i := TInteger.Create перед использованием целой переменной. Конечно, конструктор может принимать параметры, и т.о. создавать совершенно разные объекты, но ту же функциональность можно получить и через обычные свойства, если бы мы не создавали и не уничтожали объекты, то проблем с "мусором", наверника, было бы меньше
← →
Kolan © (2006-12-22 23:18) [6]то проблем с «мусором», наверника, было бы меньше
Ну так и разработчики C# так тоже думают…
← →
tesseract © (2006-12-22 23:44) [7]
> ors_archangel © (22.12.06 23:06) [5]
Покодь на C. Быстро вкатишь сколько там сил на слежение за памятью уходит, и с чего это buffer/stack overflow считаются критическими.
← →
ors_archangel © (2006-12-22 23:54) [8]
> Покодь на C
Нет, спасибо :) А вот C# - это уже интересно
← →
tesseract © (2006-12-23 00:09) [9]
> Нет, спасибо :) А вот C# - это уже интересно
Тамошний ужас звать memlink :-) А так Delphi, вид с высоты M$.
← →
palva © (2006-12-23 00:18) [10]В файле подкачки мусор может остаться. И надолго. Это если беспокоиться о сохранении секретов.
← →
Anatoly Podgoretsky © (2006-12-23 00:32) [11]> palva (23.12.2006 0:18:10) [10]
> если беспокоиться о сохранении секретов.
Если беспокоиться об этом, то не надо использовать компьютеры с оперативной памятью
← →
Германн © (2006-12-23 01:39) [12]
> Если беспокоиться об этом, то не надо использовать компьютеры
> с оперативной памятью
>
А также не использовать накопители всез видов :-)
Но поддержу Коляна:
> Kolan © (22.12.06 21:27) [4]
...
> Но, ИМХО, лучьше на это не надеятся и делать самому все…
>
Особенно важно это в программах работающих непрерывно.
← →
Anatoly Podgoretsky © (2006-12-23 10:00) [13]> Германн (23.12.2006 1:39:12) [12]
А вот накопители использовать можно, пример игровые приставки, не современные конечно.
← →
delphim (2006-12-23 11:01) [14]ors_archangel !
Вы пишете "Каждый процесс работает в виртуальном адрессном пространстве, которое уничтожается вместе с процессом, т.о. любые выделенные страницы освобождаются, если твоя программа и оставляет в памяти мусор, то он весь вычищается ОС". Вот у меня неонократно были случаи, когда после отладки одного unit IDE delphi7 завершал работу некорректно. Подозреваю (по типу сообщения ОС), что это именно этот случай. ОС = win2000 Server, SP4. Теоретически всё обстоит именно так, однако, непонятки с утечкой памяти существуют.
← →
ors_archangel © (2006-12-23 19:02) [15]delphim !
Вы пишите "…после отладки одного unit IDE delphi7 завершал работу некорректно." Что делал этот юнит? если не top secret :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.012 c