Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Не могу найти утечку памяти


Автор: Anikmar 4.4.2009, 12:46
Я перенес большой проект из шестерки в 2009.
Для очистки совести полностью пересобрал с CodeGuard.

Выдает ошибку утечки:
Цитата

Error 00035. 0x300010 (Thread 0x0EA0):
Resource leak: The memory block (0x118F090) was never freed

The memory block (0x0118F090) [size: 32 bytes] was allocated with SysGetMem
Call Tree:
   0x004994A2(=LCC_Zrp.exe:0x01:0984A2) System.pas#3412
   0x00518AC7(=LCC_Zrp.exe:0x01:117AC7)

------------------------------------------
Functions called:
 fflush (4 times)
 delete (21 times)
 SysReallocMem (372 times)
 SysFreeMem (2688 times)
 SysGetMem (2690 times)
 strdup (4 times)
 free (20 times)
 _lsetlocale (6 times)
 strlen (6 times)
 new (30 times)
 calloc (9 times)
 realloc (1 times)
 malloc (6 times)
 memcpy (11 times)
Resource types used:
 object (30 allocs, 30 max)
 memory block (2710 allocs, 1329 max)
Modules used:
 00400000 04/04/2009 13:06:58 D:\B_ARMS\LeoCCADO\LCC_Zrp\LCC_Zrp.exe


Проект строится по принципу - несколько больших библиотек с функционалом и модуль exe, который цепляет библиотеки и из главной формы вызывает методы из них.
exe-модулей несколько (автоматизация различных рабочих мест с единой БД).

В шестерке никаких ошибок CdeGuard не выдавал.
Взял одну из exe, отключил полностью все обращения к своим библиотекам - оставил только главную форму и панель с кнопками. Ни одной инициализации ни одного обработчика событий - все закомментировано. Только рисуется форма и все.
Все равно вылезает утечка.

Никто с таким не сталкивался? Что может так инициализироваться в дебрях vcl или еще где? Свои хидеры я отключил, т.е. ничего собственного не тащу - кроме самой формы. Но форма она и в африке форма. Обработчиков-то никаких нет - ни строчки дополнительного кода.

Автор: Dmi3ev 4.4.2009, 18:02
Цитата

В шестерке никаких ошибок CdeGuard не выдавал.
Взял одну из exe, отключил полностью все обращения к своим библиотекам - оставил только главную форму и панель с кнопками. Ни одной инициализации ни одного обработчика событий - все закомментировано. Только рисуется форма и все.
Все равно вылезает утечка.

Никто с таким не сталкивался? Что может так инициализироваться в дебрях vcl или еще где? Свои хидеры я отключил, т.е. ничего собственного не тащу - кроме самой формы. Но форма она и в африке форма. Обработчиков-то никаких нет - ни строчки дополнительного кода.

1) а если просто создаешь форму, тоже утечка??? т.е. не свой проект комментируешь, а если просто пустая форма???
2) а динамически не создается ничего у тебя???

Автор: Anikmar 4.4.2009, 21:11
Цитата(Dmi3ev @  4.4.2009,  18:02 Найти цитируемый пост)
1) а если просто создаешь форму, тоже утечка??? т.е. не свой проект комментируешь, а если просто пустая форма???
2) а динамически не создается ничего у тебя??? 


1. На других проектах все в порядке.

2. Все что динамически/статически создается - поотключал, оставил только главную форму.

Наверное попробую одну из exe заново создать, и посмотрю что будет. А так просто мистика какая-то. Пустая форма, которая просто отображается, я ее закрываю и вылезает утечка.

Автор: Dmi3ev 5.4.2009, 09:05
Цитата

1. На других проектах все в порядке.

2. Все что динамически/статически создается - поотключал, оставил только главную форму.

ХЗ, ОСТАЕТСЯ С БУБНОМ ПРЫГАТЬ  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)