Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2010, 14:38
Asmoday74 Asmoday74 вне форума
Прохожий
 
Регистрация: 12.10.2010
Адрес: Челябинск
Сообщения: 22
Версия Delphi: XE2
Репутация: 893
По умолчанию Out of memory при работе приложения

Доброго всем времени суток. Возникла следующая проблема, пишу приложение с использованием WinAPI функций. Задача приложения следующая: Принимать входящие соединения от клиентов, парсить трафик и перенаправлять соединения на нужный мне порт. Получается что-то вроде порт-маппеда. Количество одновременно работающих соединений 100-1000. После долгих тестов (более суток работы) при попытке соединения приложение начало выдавать ошибку "Out of memory". В самом приложение используются массивы вида array [0..7FFF] of char для чтения данных и передачи. В каждом потоке получается 4 таких массива. Если соединение разрывается, поток соответственно уничтожается. функции GetMem, FreeMem и т.п. не использую. Кто может подсказать в чем может быть проблема?
Ответить с цитированием
  #2  
Старый 12.10.2010, 16:33
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

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

ЗЫ недавно видел модуль (для делфи), который сам следит за памятью твоего приложения, и если где-то оно не освободилось, то он его сам очищал...
__________________
Помогаю за Спасибо
Ответить с цитированием
  #3  
Старый 12.10.2010, 18:13
Asmoday74 Asmoday74 вне форума
Прохожий
 
Регистрация: 12.10.2010
Адрес: Челябинск
Сообщения: 22
Версия Delphi: XE2
Репутация: 893
По умолчанию

Цитата:
Сообщение от v1s2222
ЗЫ недавно видел модуль (для делфи), который сам следит за памятью твоего приложения, и если где-то оно не освободилось, то он его сам очищал...
Не подкинешь ссылочку или модуль?

Перерыл уже по 30 весь код проекта, вроде в отладчике все норм. Но на деле возникают проблемы. Не могу найти место утечки...
Ответить с цитированием
  #4  
Старый 12.10.2010, 18:18
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Вот, посмотри здесь:
http://tinyurl.com/37qjghh

И вот, по 1 ссылке оттуда:
http://www.ddbs.ru/prog_2359.html
__________________
Помогаю за Спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:57.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter