Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разбухание кэша программы при ошибочном Sql-запросе к БД
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
sergushkin
Помогите пожалуйста разобраться со следующей проблемой.
Перепробовал MySQL, MS SQL Server. Подключался через BDE, ADO.
Для тестирование в цикле выполняю ошибочный запрос к БД. При этом идет рабухание программы.
Но если окно программы свернуть в таскбар и востановить, то память, занимаемая программой, уменьшается. Можно ли от этого избавиться либо есть ли команда сброса буферов кэша программы?
grigsoft
SetProcessWorkingSetSize(Process, -1, -1)
sergushkin
Данная функция не помогает. Идёт реальная утечка памяти.
См. ]]>http://cppbuilder.ru/component/option,com_...id,130/catid,6/]]>
sergushkin
Я разобрался в этой проблеме. Загвоздка оказалась в обрабоки исключительных ситуаций.
При возникновении эксепшена сознается соответстующий класс дочерний к Exception. И если его не обработа в секции catch, а указать просто catch(...), то память, выделенная под класс эксепшена не освобождается. Таким образов в ADO следует обработать EOleException, а в BDE - EDBEngineError
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.