Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Утечка памяти   Найти похожие ветки 

 
pavel_guzhanov   (2005-01-20 09:36) [0]

Сделал я программу, которая опрашивает компьютеры в локальной сети на предмет установленного железа. Опрос идет через WMI. Составляется массив из имен компьютеров, и в цикле они все по-очереди опрашиваются. Цикл опроса вывел в отдельный поток, чтобы иметь доступ к управлению программой (например для паузы в опросе). Все работает нормально, но происходит огромная утечка памяти, а именно: В конце работы цикла, т.е. после опроса последнего компьютера, диспетчер задач показывает, что программа в память знимает больше 200 MByte. При запуске и начале опроса - порядка 10. Сеть достаточно большая, около 200 компьютеров. Ясно, что где-то в цикле происходит утечка памяти, но вот как определить, где именно? Я пробовал все переменные, связанные с WMI, создавать динамически, при инициализации выделяя им память (New), а сразу после использования убивая (Dispose). Но это ничего не дало. Подскажите, как можно определить, что именно пожирает память?


 
Poirot ©   (2005-01-20 09:39) [1]

можешь сделать свой манагер памяти для проверки и смотри сколько выделяется и сколько освобождается.. примеры были на торри и тут когда-то в кладовке... пос\лносьтю раюбочий манагер с возможносью сбора статистики по использованию памяти.


 
Алхимик ©   (2005-01-20 09:43) [2]

Народ рекомендует MemProf. Сам не пробовал.


 
pavel_guzhanov   (2005-01-20 09:55) [3]


> Алхимик ©   (20.01.05 09:43) [2]
> Народ рекомендует MemProf

А это что, копонент, или программа?


 
Amoeba ©   (2005-01-20 10:19) [4]

MemProof (а не MemProf! - такой не существует) - это программа-отладчик (бесплатная!!!), специально предназначенная для обнаружения и локализации в коде мест, вызывающих утечки памяти. Адрес для закачки легко находится поисковиком.

Если будешь скачивать, то надо скачать сперва предпоследнюю версию и установить ее. Затем скачать последнюю и распаковать поверх.  Дело в том, что она идет уже как обновление и не содержит поэтому файла справки, а без него разобраться будет весьма затруднительно.


 
REA   (2005-01-20 10:43) [5]

В простых случаях действуем методом дихотомии. А именно комментируем куски программы, пока не перестанет утекать и т.д.


 
ev   (2005-01-20 12:15) [6]

была похожая проблема... обнаружилась утечка памяти... перепроверил все в коде - нигде нет... уже начал грешить на компоненты INDY - заменил, на API... промучался еще кучу времени... насколько удалось выяснить существует утечка в виндовой библиотеке работы с сетью... в NT4 такой ошибки нет, в W2000 - есть, в XP - не проверял... данную проблему я общуждал где-то на соурфорж (вроде) - но решения так и не нашли... микрософт на эту проблему внимания не обращает :(



Страницы: 1 вся ветка

Текущий архив: 2005.01.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1105679758
Nik8.
2005-01-14 08:15
2005.01.30
Почему функция неверно считает?


14-1105586844
inew
2005-01-13 06:27
2005.01.30
EhLib


4-1102491726
Sigetta
2004-12-08 10:42
2005.01.30
EnumChildWindow


3-1104229600
denis24
2004-12-28 13:26
2005.01.30
тип поля datetime


3-1103723270
zorik
2004-12-22 16:47
2005.01.30
Установка BDE