Есть проблема...
От: Serge Россия  
Дата: 29.10.01 00:46
Оценка:
Вопрос: есть софтина: 2 драйвера + клиентский модуль (все на COM). Запускаешь — все круто. Но через 2 часа после старта начинается полная фигня: прекращается отрисовка всех окон, ВСЕ новые запускаемые софтины идут с кривыми шрифтами и графикой. И такая дрянь длится минут 15 потом все вообще вырубается. Хотя никаких активных дествий со стороны моего приложения не происходит. Ингода еще начинает вылетать загадочное окошко с ошибкой, цитирую "A required resource was". Если кто-нить раньше с таким сталкивался, напишите, а то у меня башка уже кругом идет.
Re: Есть проблема...
От: Alex Fedotov США  
Дата: 29.10.01 01:02
Оценка:
Здравствуйте Serge, Вы писали:

S>Вопрос: есть софтина: 2 драйвера + клиентский модуль (все на COM). Запускаешь — все круто. Но через 2 часа после старта начинается полная фигня: прекращается отрисовка всех окон, ВСЕ новые запускаемые софтины идут с кривыми шрифтами и графикой. И такая дрянь длится минут 15 потом все вообще вырубается. Хотя никаких активных дествий со стороны моего приложения не происходит. Ингода еще начинает вылетать загадочное окошко с ошибкой, цитирую "A required resource was". Если кто-нить раньше с таким сталкивался, напишите, а то у меня башка уже кругом идет.


Teкут ресурсы GDI.
-- Alex Fedotov
Re[2]: Есть проблема...
От: Serge Россия  
Дата: 29.10.01 01:17
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

AF>Здравствуйте Serge, Вы писали:


S>>Вопрос: есть софтина: 2 драйвера + клиентский модуль (все на COM). Запускаешь — все круто. Но через 2 часа после старта начинается полная фигня: прекращается отрисовка всех окон, ВСЕ новые запускаемые софтины идут с кривыми шрифтами и графикой. И такая дрянь длится минут 15 потом все вообще вырубается. Хотя никаких активных дествий со стороны моего приложения не происходит. Ингода еще начинает вылетать загадочное окошко с ошибкой, цитирую "A required resource was". Если кто-нить раньше с таким сталкивался, напишите, а то у меня башка уже кругом идет.


AF>Teкут ресурсы GDI.


Дык это ежу понятно, что что-то с ресурсами. А где может происходиь утечка и какого она рода??
Re[3]: Есть проблема...
От: Alex Fedotov США  
Дата: 29.10.01 01:36
Оценка:
Здравствуйте Serge, Вы писали:

S>Здравствуйте Alex Fedotov, Вы писали:


AF>>Здравствуйте Serge, Вы писали:


S>>>Вопрос: есть софтина: 2 драйвера + клиентский модуль (все на COM). Запускаешь — все круто. Но через 2 часа после старта начинается полная фигня: прекращается отрисовка всех окон, ВСЕ новые запускаемые софтины идут с кривыми шрифтами и графикой. И такая дрянь длится минут 15 потом все вообще вырубается. Хотя никаких активных дествий со стороны моего приложения не происходит. Ингода еще начинает вылетать загадочное окошко с ошибкой, цитирую "A required resource was". Если кто-нить раньше с таким сталкивался, напишите, а то у меня башка уже кругом идет.


AF>>Teкут ресурсы GDI.


S>Дык это ежу понятно, что что-то с ресурсами. А где может происходиь утечка и какого она рода??


Утечка ресурсов GDI, это когда объекты GDI создаются, но не освобождаются. Объекты GDI включают в себя device contexts, bitmaps, brushes, pens, fonts, metafiles, enhanced metafiles, regions, palettes and color spaces. Не освобождаться они могут потому что их просто забыли освободить, либо потому что их пытаются освободить, когда они выбраны в контекст устройства.
-- Alex Fedotov
Re[4]: Есть проблема...
От: Snax Россия  
Дата: 29.10.01 03:01
Оценка:
Есть два пути быстрого обнаружения такой утечки:

1. Поставить WindowsNT Checked Build
2. Купить Numega DevPartner Studio или хотя бы Bounds checker из этого пакета.
Re[5]: Есть проблема...
От: Alex Fedotov США  
Дата: 29.10.01 04:31
Оценка:
Здравствуйте Snax, Вы писали:

S>Есть два пути быстрого обнаружения такой утечки:


S>1. Поставить WindowsNT Checked Build


А Checked Build здесь чем поможет?
-- Alex Fedotov
Re[6]: Есть проблема...
От: Snax Россия  
Дата: 29.10.01 04:49
Оценка:
Здравствуйте Alex Fedotov, Вы писали:

AF>А Checked Build здесь чем поможет?


Как минимум, скажет чего и сколько вытекло. BoundsChecker конечно, тут полезнее.
Re[7]: Есть проблема...
От: Serge Россия  
Дата: 29.10.01 22:26
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте Alex Fedotov, Вы писали:


AF>>А Checked Build здесь чем поможет?


S>Как минимум, скажет чего и сколько вытекло. BoundsChecker конечно, тут полезнее.


Большое спасибо за советы, но, господа, как вы можете объяснить следующий эффект: сегодня вставил в фунцию инициализации драйвера дополнительный Lock ( AfxOleLockApp() и AfxOleUnlockApp() на выходе соответственно)- и (как факт) уже почти сутки все работает без сбоев... или все-таки проблема осталась?
Re[8]: Есть проблема...
От: Alex Fedotov США  
Дата: 29.10.01 23:26
Оценка:
Здравствуйте Serge, Вы писали:

S>Большое спасибо за советы, но, господа, как вы можете объяснить следующий эффект: сегодня вставил в фунцию инициализации драйвера дополнительный Lock ( AfxOleLockApp() и AfxOleUnlockApp() на выходе соответственно)- и (как факт) уже почти сутки все работает без сбоев... или все-таки проблема осталась?


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

В любом случае, на Win2K Тask Manager умеет показывать per-process счетчики объектов GDI. Посмотри, как они себя ведут в том и в другом случае.
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.