Russian Qt Forum
Ноябрь 24, 2024, 06:23
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Программа рушится при закрытии через крестик
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Программа рушится при закрытии через крестик (Прочитано 10288 раз)
Ginger_Ministrel
Гость
Программа рушится при закрытии через крестик
«
:
Июнь 06, 2014, 10:46 »
Подскажите, господа, какие могут быть причины того, что одна и та же программа иногда завершается крахом, а иногда нормально? Крах происходит после срабатывания всех деструкторов, вне зависимости от того, что я делал или не делал на окне. Конкретный код привести не могу, потому что его много и совершенно непонятно, что в нем приводит к такому.
UPD: дебаггер выдает вот такую ошибку:
Cannot find user-level thread for LWP: generic error
Как я понял, это что-то связанное с проблемами совместимости. Но больше ничего понять пока не вышло.
«
Последнее редактирование: Июнь 09, 2014, 10:06 от Ginger_Ministrel
»
Записан
Swa
Самовар
Offline
Сообщений: 170
Re: Программа иногда рушится
«
Ответ #1 :
Июнь 06, 2014, 10:58 »
99% что это результат обращения по нулевому указателю.
Записан
Ginger_Ministrel
Гость
Re: Программа иногда рушится
«
Ответ #2 :
Июнь 06, 2014, 10:59 »
Возможно. Но почему оно возникает от случая к случаю, а не стабильно?
Записан
OKTA
Гость
Re: Программа иногда рушится
«
Ответ #3 :
Июнь 06, 2014, 11:04 »
К сожалению, возможных причин уйма
Попробуй проанализировать через valgrind!
Записан
Figaro
Гость
Re: Программа иногда рушится
«
Ответ #4 :
Июнь 06, 2014, 11:11 »
Операционка? Компилятор?
Записан
Ginger_Ministrel
Гость
Re: Программа иногда рушится
«
Ответ #5 :
Июнь 06, 2014, 11:54 »
Figaro,
CentOS 6.5, g++
Проблема вроде бы решилась заменой выхода через this->close() основного окна на qApp->exit( 0 ). Но остается непонятным, почему в той же программе не было такой проблемы на 16-й Федоре, а под Вендой я вообще не знал, что такая проблема существует.
Записан
Ginger_Ministrel
Гость
Re: Программа иногда рушится
«
Ответ #6 :
Июнь 06, 2014, 14:44 »
Все-таки иногда крах продолжает случаться по непонятным причинам.
Какие базовые моменты стоит проверить?
Записан
Ginger_Ministrel
Гость
Re: Программа иногда рушится
«
Ответ #7 :
Июнь 09, 2014, 10:04 »
Нашел момент, когда происходит крах - закрытие программы через стандартный крестик.
В принципе, можно переопределить closeEvent() у основного окна, но это костыль. Отчего такое может возникать? Что-то не чистится из памяти?
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Программа рушится при закрытии через крестик
«
Ответ #8 :
Июнь 09, 2014, 10:09 »
логгируй работу программы в stderr
Записан
Ginger_Ministrel
Гость
Re: Программа рушится при закрытии через крестик
«
Ответ #9 :
Июнь 09, 2014, 10:25 »
Логирую по дефолту. В каждой функции - вход и выход, в каждом констркуторе и деструкторе сообщение об окончании работы.
Крах происходит после успешного срабатывания всех деструкторов. Буквально на самой последней строчке программы.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Программа рушится при закрытии через крестик
«
Ответ #10 :
Июнь 09, 2014, 11:04 »
комментируй код (окна, классы) и смотри когда падает - так обычно помогает
переопределял ли чтото типа qInstallMessageHandler ?
Записан
Ginger_Ministrel
Гость
Re: Программа рушится при закрытии через крестик
«
Ответ #11 :
Июнь 09, 2014, 11:22 »
Переопределял только timerEvent() у одного виджета и contextMenuEvent() у другого вложенного.
Насчет комментирования - сейчас попробую прогнать, посмотрим, что получится.
Записан
Ginger_Ministrel
Гость
Re: Программа рушится при закрытии через крестик
«
Ответ #12 :
Июнь 09, 2014, 11:25 »
Есть один момент: интерфейс в основном сделан через дизайнер, то бишь, через подключение Ui.
Там есть какие-то моменты, которые могут рушить программу?
Явно что-то нехорошее происходит, связанное с closeEvent(), потому что при выходе через qApp->exit() все нормально.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Программа рушится при закрытии через крестик
«
Ответ #13 :
Июнь 09, 2014, 12:29 »
Цитата: Ginger_Ministrel от Июнь 09, 2014, 11:25
Явно что-то нехорошее происходит, связанное с closeEvent(), потому что при выходе через qApp->exit() все нормально.
делай QApplication::exit в closeEvent
Записан
Ginger_Ministrel
Гость
Re: Программа рушится при закрытии через крестик
«
Ответ #14 :
Июнь 09, 2014, 12:31 »
Я так и собираюсь делать. Но мне хочется все-таки докопаться до причины. Мало ли когда она еще вылезет, эта ошибка.
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...