Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / VCL глобальная проблема / 12 сообщений из 12, страница 1 из 1
01.06.2006, 14:18
    #33766069
rodb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
Здраствуйте,

пишу приложение на BCB.
в приложении очень много динамического выделения памяти.
приложение работает нормально, но при выходе из программы, остается в памяти
и его удается завершить только вручную через список процессов.

На данном этапе не удается найти ошибку с выделением и освобождением памяти.
Существуют ли способы позволяющие принудительно завершить
приложение и скрыть исключения которые выбрасывает приложение по завершении.


TerminateProcess(Application->Handle, 0);
не очень помогает.


Спасибо.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 14:32
    #33766117
Misha Tyurin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
А как память то выделяеш?
...
Рейтинг: 0 / 0
01.06.2006, 14:41
    #33766147
rodb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
>А как память то выделяеш?

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

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



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 14:48
    #33766172
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
В Builder есть CodeGuard, котроый позволяет определить Resource Leaks, кроме того есть сторонние утилиты подобного рода (MemCheck...)
Может с их помощью получится "в сжатые сроки" найти и устранить утечки...

А вариант с "убийством" приложения... ладно, не буду ;)

Киньте пару примеров кода, на который (возможно) есть подозрения... пусть народ посмотрит...
...
Рейтинг: 0 / 0
01.06.2006, 14:56
    #33766197
LordMAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
1. По-любому ищи утечки.
2. Если клянешься утечки найти, то пока как временное решение, НА ВРЕМЯ ПОКА УТЕЧКИ ИЩЕШЬ, просто правильно вызывай
Код: plaintext
TerminateProcess(GetCurrentProcess(),  0 );
...
Рейтинг: 0 / 0
01.06.2006, 15:21
    #33766292
rodb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
WINAPI WinMain(HINSTANCE p_Instance, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TSplashScreenDlg),
&SplashScreenDlg);
...
Application->Run();
}
catch (...)
{
}
return 0;
}
под отладчиком исключения начинают лететь уже после выхода из WinMain


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 15:37
    #33766342
LordMAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
rodbпод отладчиком исключения начинают лететь уже после выхода из WinMain
Это мало о чем говорит. Воспользуйся менеджером памяти FastMM - он даст сведения об утечках.
...
Рейтинг: 0 / 0
01.06.2006, 15:51
    #33766410
rodb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
>FastMM

хорошо, нада попробовать этого зверя.
CodeGuard говорят сам по себе глючный.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 15:53
    #33766414
rodb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
Кода Гад вот что выдает

Error 00001. 0x400000 (Thread 0x00CC):
Exception 0xEEDFADE:
Call Tree:
0x77E649D3(=kernel32.dll:0x01:0239D3)
0x004C7171(=Client.exe:0x01:0C6171) classes.pas#2736
0x004C71DA(=Client.exe:0x01:0C61DA) classes.pas#2741
0x004C70F1(=Client.exe:0x01:0C60F1) classes.pas#2718
0x004C75DB(=Client.exe:0x01:0C65DB) classes.pas#2856
0x004F78E2(=Client.exe:0x01:0F68E2) ActnList.pas#472

------------------------------------------
может что посоветуете?


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 16:25
    #33766552
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
А ты случайно руками не удаляешь что-нибудь, что будет удалено автоматически при завершении приложения или закрытии форм ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
01.06.2006, 16:27
    #33766557
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
rodbКода Гад вот что выдает...
Поищи по исходникам, где идёт работа с TActionList (удаление из него) и TList (удаление, некорректная индексация) ...

Что-нибудь другое пробовал, кроме CodeGuard?
...
Рейтинг: 0 / 0
01.06.2006, 16:50
    #33766669
pandrew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VCL глобальная проблема
Найди и установи NuMega BoundsChecker - отлично ищет утечки памяти и прочие некорректности. Указывает строки исходного кода.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / VCL глобальная проблема / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]