Главная страница
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.037 c
3-1103801711
}|{yk
2004-12-23 14:35
2005.01.30
Где ошибка в триггере?


14-1105625257
paul_k
2005-01-13 17:07
2005.01.30
Помогите тест проверить


14-1105244659
Sicilla
2005-01-09 07:24
2005.01.30
Тестеры


14-1105343619
Grant
2005-01-10 10:53
2005.01.30
Inet


1-1106037752
vint45
2005-01-18 11:42
2005.01.30
Множества