Russian Qt Forum
Июня 08, 2025, 16:49
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
QThread object destroyed while thread is still running
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QThread object destroyed while thread is still running (Прочитано 12366 раз)
west
Гость
QThread object destroyed while thread is still running
«
:
Февраля 09, 2008, 12:33 »
Смысл сообщения понятен, причина - тож. Неясно как найти место, потоков в приложении пускается очень много и разных. А бяка эта лезит нестабильно, под валгридом или gdb ее вообще не видно. Как бы ее поискать поэффективнее?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QThread object destroyed while thread is still running
«
Ответ #1 :
Февраля 09, 2008, 22:20 »
Найти место в Qt (~QThread() ) где выводиться это сообщение и поставить точку останова. Запустить прогу, точка сработает и далее посмотреть стек вызовов, при каких обстоятельствах это возникает. Этот как вариант
Далее сделать корректное завершение потока перед его удалением.
«
Последнее редактирование: Февраля 09, 2008, 22:26 от pastor
»
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
west
Гость
Re: QThread object destroyed while thread is still running
«
Ответ #2 :
Февраля 11, 2008, 12:02 »
Цитировать
и поставить точку останова
Цитировать
А бяка эта лезит нестабильно, под валгридом или gdb ее вообще не видно
- если в дебагере пускаться, то подобной проблемы не вознкает. Во время работы приложения на стандартный вывод переодически выскакивает, причем повторяется от случая к случаю.
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QThread object destroyed while thread is still running
«
Ответ #3 :
Февраля 11, 2008, 13:53 »
В таком случае нужно просто корректно завершить поток. В деструкторе своего класса потока дописать примерно такй код:
Код:
...
if (!isRunning())
return;
//завершение потока
wait();
....
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
west
Гость
Re: QThread object destroyed while thread is still running
«
Ответ #4 :
Февраля 14, 2008, 09:11 »
Да это все понятно, и даже уже написанно.
Записан
skydion
Гость
Re: QThread object destroyed while thread is still running
«
Ответ #5 :
Марта 12, 2010, 11:13 »
И как побороли эту фигню? У меня приблизительно тоже самое
Завершаю поток при выходе из программы, а потом сама програма висит,
не завершается, хотя по отладочным сообщениям поток завершился...
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: QThread object destroyed while thread is still running
«
Ответ #6 :
Марта 12, 2010, 14:39 »
Покажи код потока и как ты его завершаешь
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
skydion
Гость
Re: QThread object destroyed while thread is still running
«
Ответ #7 :
Марта 12, 2010, 16:25 »
Спасибо за отзыв, проблемку решил.
Неправильно убивал поток...
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...