Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java и *.dll. Нарушение доступа. ACCESS_VIOLATION 
:(
    Опции темы
serghd
Дата 11.3.2010, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
serghd
Дата 13.3.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Выяснилось, что это из-за утечки памяти. Т.е. один из объектов qt jambi не зачищается, в то время как постоянно создаётся. Объект этот - QWebView, виджет для работы с веб-страницами. Для зачистки нативных объектов в qt jambi используется специальный для этого метод dispose(), который почему-то в этом случае не работает.
Уже не знаю что придумать. Последний, как мне кажется вариант это обращение к деструктору этого класса через саму java используя её возможность обращения к нативным методам (к .dll и др.), но что-то мне подсказывает, что это гемор ещё тот, хотя бы потому что неизвестно как java управляет памятью. Хотя может быть это кому как. Ведь надо будет знать по крайней мере адрес объекта (другого способа как узнать адрес я не знаю, кроме как применить toString() к объекту) и будет ли постоянен этот адрес вообще.
Короче, если кто хочет - могу дать исходники именно по этому случаю (очень мало кода), которые специально написал, чтобы не дёргать каждый раз сам проект. За решение проблемы - $100-150, проект писался 3 месяца и не должен умереть на этой фигне. Буду благодарен модерам если перенесут тему с этим сообщением куда надо (в объявы там и т.п.) если это поспособствует более скорейшему решению проблемы.

Это сообщение отредактировал(а) serghd - 13.3.2010, 14:10
PM MAIL   Вверх
Metal_Heart
Дата 17.3.2010, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

Репутация: 4
Всего: 12



Цитата(serghd @  13.3.2010,  14:07 Найти цитируемый пост)
Короче, если кто хочет - могу дать исходники именно по этому случаю 

ну и прикрепил бы их, или только в привате?
Лично мне посмотреть интересно.


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0394 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.