![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Проблема в том, что проект, использующий qt jambi (т.е. нативные библиотеки) и основанный на многопоточности вылетает в разное время (10-25 мин) работы с ошибкой "ACCESS_VIOLATION: QWaitCondition: Destroyed while threads are still waiting". Сама dllка - QtWebKit4.dll. Можно ли как-то определить в какой функции/методе dll-ки происходит ошибка?... Может для java есть какие-то средства для отслеживания этого дела...
Это сообщение отредактировал(а) serghd - 11.3.2010, 00:12 |
|||
|
||||
| serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Выяснилось, что это из-за утечки памяти. Т.е. один из объектов qt jambi не зачищается, в то время как постоянно создаётся. Объект этот - QWebView, виджет для работы с веб-страницами. Для зачистки нативных объектов в qt jambi используется специальный для этого метод dispose(), который почему-то в этом случае не работает.
Уже не знаю что придумать. Последний, как мне кажется вариант это обращение к деструктору этого класса через саму java используя её возможность обращения к нативным методам (к .dll и др.), но что-то мне подсказывает, что это гемор ещё тот, хотя бы потому что неизвестно как java управляет памятью. Хотя может быть это кому как. Ведь надо будет знать по крайней мере адрес объекта (другого способа как узнать адрес я не знаю, кроме как применить toString() к объекту) и будет ли постоянен этот адрес вообще. Короче, если кто хочет - могу дать исходники именно по этому случаю (очень мало кода), которые специально написал, чтобы не дёргать каждый раз сам проект. За решение проблемы - $100-150, проект писался 3 месяца и не должен умереть на этой фигне. Буду благодарен модерам если перенесут тему с этим сообщением куда надо (в объявы там и т.п.) если это поспособствует более скорейшему решению проблемы. Это сообщение отредактировал(а) serghd - 13.3.2010, 14:10 |
|||
|
||||
| Metal_Heart |
|
|||
|
а почему бы и нет? ![]() ![]() Профиль Группа: Участник Сообщений: 728 Регистрация: 31.3.2005 Где: Москва Репутация: 4 Всего: 12 |
ну и прикрепил бы их, или только в привате? Лично мне посмотреть интересно. -------------------- не стыдно учиться, а стыдно не учиться |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |