Indy и утечки памяти

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Ответить
S_Gur
постоялец
Сообщения: 136
Зарегистрирован: 30.12.2018 21:17:42

Indy и утечки памяти

Сообщение S_Gur »

Доброго времени суток. Прошу помощи у специалистов Indy. Моя программа висит на телнете, анализирует приходящие пакеты и периодически (в зависимости от содержимого пакета) выполняет Post и Get запросы. Соответственно Использую 2 компонента - TIdTelNet и TIdHTTP. При тестировании долговременной работы у меня создалось устойчивое впечатление, что где-то подъедается память (вчера вечером при запуске Task Manager показывал, что программа использует около 9 метров, сейчас уже 46 - немного, но неприятно). Анализ моего кода (во всяком случае, пока) утечек не выловил. Отсюда вопрос - может ли такое быть при использовании компонентов Indy, и если да, то можно ли с этим как-то бороться?
delphius
постоялец
Сообщения: 131
Зарегистрирован: 18.03.2020 12:40:11

Сообщение delphius »

S_Gur писал(а):Анализ моего кода
А кроме анализа кода утечки при исполнении не смотрели?
https://webdelphi.ru/2020/05/kak-v-laza ... i-pamyati/
https://wiki.lazarus.freepascal.org/heaptrc/ru
https://wiki.lazarus.freepascal.org/leakview/ru
S_Gur
постоялец
Сообщения: 136
Зарегистрирован: 30.12.2018 21:17:42

Сообщение S_Gur »

delphius Анализ кода - это было очень общее понятие. Достаточно сказать, что, как только я на днях отказался от IdTelNet, все утечки пропали. Я не спрашивал, как искать утечки. Я спрашивал, знает ли кто-либо о проблемах конкретно в Indy, и если знает, то как с ними бороться. Вдогонку могу сказать, что при нагруженном потоке данных IdTelNet периодически просто начинает падать - особенно, если включить ThreadedEvent. Я пришел к выводу, что Indy очень хорош и удобен, если его использовать периодически (например, отправка или получение данных по запросу юзера - например, по какой-нибудь кнопке). Если же запустить постоянный цикл получения и обработки данных, вылезает очень много чудес, а решать их путем правки исходников у меня на сегодняшний день нет ни времени, ни желания
Ответить