Вниз
Скачать: CL | DM;

Мусор в памяти после жизнедеятельности программы.   Найти похожие ветки 

← →
AlexanderMS ©   (2006-12-22 19:49) [0]

Могу ли я как-нибудь узнать, оставляет ли моя программа в памяти мусор после её завершения? Ну вдруг Free где-нибудь забуду поставить, а ведь так просто и не узнать, что и где забыл. Подумано ли об этом?


← →
Kolan ©   (2006-12-22 19:56) [1]

Можешь, для этого тебе понадобится «детектор утечек»&#133
1&#133 MemProof
2&#133 MemCheck
3&#133 Можно взять BDS200 таем есть встроеный&#133


← →
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]

> то он весь вычищается ОС

Но, ИМХО, лучьше на это не надеятся и делать самому все&#133


← →
ors_archangel ©   (2006-12-22 23:06) [5]


> лучьше на это не надеятся и делать самому все

Я вообще считаю, что создание и уничтожение сущностей избытоно, когда в языке чётко разграничены области видимости для каждой переменной. Например, мы же не пишем  i := TInteger.Create перед использованием целой переменной. Конечно, конструктор может принимать параметры, и т.о. создавать совершенно разные объекты, но ту же функциональность можно получить и через обычные свойства, если бы мы не создавали и не уничтожали объекты, то проблем с "мусором", наверника, было бы меньше


← →
Kolan ©   (2006-12-22 23:18) [6]

то проблем с «мусором», наверника, было бы меньше
Ну так и разработчики C# так тоже думают&#133


← →
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 вся ветка

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



Память: 0.48 MB
Время: 0.027 c
6-1155559604
Shaman_
2006-08-14 16:46
2007.01.14
idHTTP вылетает на HTTP/1.1 500 Internal Server Error


1-1164016150
BasilAKANaiL
2006-11-20 12:49
2007.01.14
Объект из процедурной ссылки


1-1163789132
SkySpeed
2006-11-17 21:45
2007.01.14
Как распечатать, используя Delphi файл?


2-1166959976
Jeeb
2006-12-24 14:32
2007.01.14
Добавление записи в БД


6-1155730369
Antonydee
2006-08-16 16:12
2007.01.14
Помогите разобраться




   Наверх