Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема выхода из приложения [D7, XP]


Ega23 ©   (2007-05-04 17:29:00) 

Есть exe + куча dll.
При запуске из-под отладчика, при выходе через какое-то время появляется окно CPU и следующий мессадж:
Project ..\..\Release\ARM.exe raised too many consecutive exceptions^ 'access violation at 0xcc342d24: read of address 0xcc342d24' Prcess stopped. Use ...

Если ставить брейкпоинт на end. программы, то после прохождения многих секций finalization в окне CPU видно, что полный завис происходит на call ntdll.ZwContinue

Подскажите, как бороться? Уже пол-дня бьюсь...  :(


Leonid Troyanovsky   (2007-05-07 12:42:00) [1]


> Ega23 ©   (07.05.07 09:20) [10]

> > Ну, или скажи, threads используются?

> Да, используются.
> А сами dll - суть хранилище COM-объектов.

1. TThread исключи, только BeginThread.
2. Убери код из DLL_THREAD_DETACH, DLL_PROCESS_DETACH

--
Regards, LVT.


Ega23   (2007-05-07 09:20:00) [2]

Снизу вверх начну...


> TIdUDPServer не используешь?


Нет. Из Indy вообще ничего не использую.


> Ну, или скажи, threads используются?


Да, используются.
А сами dll - суть хранилище COM-объектов.


DVM   (2007-05-05 15:39:00) [3]


> Ega23 ©

TIdUDPServer не используешь?


Leonid Troyanovsky   (2007-05-05 10:29:00) [4]


> Ega23 ©   (04.05.07 17:29)

> Есть exe + куча dll.

Библиотеки соответствуют
http://www.microsoft.com/whdc/driver/kernel/DLL_bestprac.mspx?

Ну, или скажи, threads используются?

--
Regards, LVT.


Зюзя   (2007-05-04 20:29:00) [5]

Может после выгрузки DLL идет обращение к каким-то экспортируемым функциям? Или, в DLL создаются некие экземпляры классов, и, на момент выгрузки DLL все еще висят в памяти (ну, не уничтожены). Да, и еще, формы в DLL есть? Если да, то их надо Release, а после этого еще и Application.ProcessMessages.

То есть, я хотел сказать, что проблема не в ntdll, а в том, что где-то что-то не уничтожается вовремя.


clickmaker   (2007-05-04 18:07:00) [6]

а во View CPU - Goto address что показывает?


Ega23   (2007-05-04 17:36:00) [7]

Настораживает тот факт, что адреса в AV одинаковые...


Ega23   (2007-05-04 17:35:00) [8]


> Ctrl-F2 увлекаешься?


Вообще-то нет. Как бы, по логике, и без Program Reset должно всё работать...


Desdechado   (2007-05-04 17:34:00) [9]

Ctrl-F2 увлекаешься?


clickmaker   (2007-05-04 17:33:00) [10]

а куча DLL - твои?


Ega23   (2007-05-04 17:33:00) [11]

Да.


Наверх

Титульная страница Поиск, карта сайта Написать письмо