Ошибка из потока |
Здравствуйте, гость ( Вход | Регистрация )
Ошибка из потока |
ruzik |
26.7.2011, 20:36
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Здравствуйте, я хотел для своего редактора qss сделать небольшой поиск ошибок, но тк он выполнялся достаточно долго при больших документов, я запихнул его в поток, вроде все ок, все работает, но если попытаться выйти из программы, то выдает ошибку:
Цитата Необработанное исключение в "0x651ed4d5" в "RizekQssEditor.exe": 0xC0000005: Нарушение прав доступа при чтении "0x01926158". Я понимаю поток пытается обратиться к данным, которых уже нет, и я пытался это исправить: поставил обработку исключений в место создания потока и некоторых начальных манипуляций с ним - не помогло поставил обработку исключений в сам поток, в функции манипуляции с теми самими объектами - не помогло поставил завершение процесса и в деструктор QDockWidgetа в котором содержится этот поток и в главный класс - не могло Вот как примерно выглядит класс QDockWidget из которого и вызывается поток
Заранее спасибо за помощь! |
|
|
Litkevich Yuriy |
26.7.2011, 21:49
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
ruzik |
26.7.2011, 22:31
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Знал бы как, посмотрел бы
Не подскажите как это можно сделать в VS 2008 Нашел как, зашел в debug, при запуске ошибка http://hostingkartinok.com/image/01201107/...d812a4f4929.png |
|
|
Litkevich Yuriy |
27.7.2011, 5:48
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Это сообщение означает, что где-то идёт обращение к экземпляру QAplication вне главного потока.
Если ты отлаживаешся в IDE, то там должен быть стек вызовов, посмотри его, от какой из твоих функций начинается этот стэк |
|
|
ruzik |
27.7.2011, 12:19
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Остановил во время выхода errora на отладке:
В стеке вызовов: http://hostingkartinok.com/image/01201107/...973a56b6432.png + qglobal.cpp , следующий оператор, который должен выполниться template <typename Wrapper> static inline typename Wrapper::pointer qGetPtrHelper(const Wrapper &p) { return p.data(); } |
|
|
Текстовая версия | Сейчас: 27.12.2024, 8:11 |