Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизУтечка памяти Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c