Russian Qt Forum
Ноябрь 23, 2024, 03:26
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Непонятное падение программы
Страниц:
1
2
[
3
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Непонятное падение программы (Прочитано 12271 раз)
opera
Чайник
Offline
Сообщений: 93
Re: Непонятное падение программы
«
Ответ #30 :
Январь 29, 2021, 15:24 »
Цитата: tux от Январь 29, 2021, 14:17
Ну, буст использует куча людей и вряд ли дело в нём. А вот по метатрейдеру я бы напрягся.
Оно ведь кривое, даже без Qt.
да, но это проблема возникает только при закрытии (X) одного из окон приложения и только в режиме debug, во всех остальных случаях, которые я видел и использовал,ничего подобного и критичного нет.Когда приложение создает окно дополнительное и ты его закрываешь, то приложение падает на строке, которую я писал выше. Ни на access violation ни на что-то подобное он не ругается
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Непонятное падение программы
«
Ответ #31 :
Январь 29, 2021, 16:03 »
тогда, очевидно, надо искать проблему именно в том окне
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Непонятное падение программы
«
Ответ #32 :
Январь 29, 2021, 17:20 »
Цитата: opera от Январь 29, 2021, 15:24
то приложение падает на строке, которую я писал выше.
Проблема не обязательно именно в этой строке. Но, опять же, без кода это всё - гадание.
Записан
Digital Art
opera
Чайник
Offline
Сообщений: 93
Re: Непонятное падение программы
«
Ответ #33 :
Январь 29, 2021, 17:29 »
Цитата: tux от Январь 29, 2021, 17:20
Цитата: opera от Январь 29, 2021, 15:24
то приложение падает на строке, которую я писал выше.
Проблема не обязательно именно в этой строке. Но, опять же, без кода это всё - гадание.
я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Непонятное падение программы
«
Ответ #34 :
Январь 29, 2021, 17:35 »
Цитата: opera от Январь 29, 2021, 17:29
я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec?
А он (отладчик) в "нутро" заходит? Т.е. если дойти до app.exec() и сделать "step in" (не знаю какая клавиша в Вашем IDE), то Вы "ходите" по коду Qt либы? Если нет, то надо "пересобирать", иначе ловить нечего. И собирать в новые папки/мамки (а не поверх старых)
Записан
opera
Чайник
Offline
Сообщений: 93
Re: Непонятное падение программы
«
Ответ #35 :
Январь 29, 2021, 19:39 »
Цитата: Igors от Январь 29, 2021, 17:35
Цитата: opera от Январь 29, 2021, 17:29
я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec?
А он (отладчик) в "нутро" заходит? Т.е. если дойти до app.exec() и сделать "step in" (не знаю какая клавиша в Вашем IDE), то Вы "ходите" по коду Qt либы? Если нет, то надо "пересобирать", иначе ловить нечего. И собирать в новые папки/мамки (а не поверх старых)
Поставил break на строчку app.exec(), естественно приложение там встало, никакие окна не отображаются, нажал Step Into, все заработало, пошел процесс отображения окон и работы самого приложения. По чему конкретно я еще должен ходить?К примеру, по событию закрытия окна closeEvent я хожу
«
Последнее редактирование: Январь 29, 2021, 19:42 от opera
»
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Непонятное падение программы
«
Ответ #36 :
Январь 29, 2021, 20:11 »
если совсем нет догадок о причинах, берешь то окно и начинаешь отключать куски его кода, пока не локализуешь краш.
еще попробуй через valgrind или подобную утилиту прогнать — высока вероятность, что где-то бьется память, оттого и такой странный стэктрейс.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
opera
Чайник
Offline
Сообщений: 93
Re: Непонятное падение программы
«
Ответ #37 :
Январь 29, 2021, 20:54 »
Цитата: kambala от Январь 29, 2021, 20:11
если совсем нет догадок о причинах, берешь то окно и начинаешь отключать куски его кода, пока не локализуешь краш.
еще попробуй через valgrind или подобную утилиту прогнать — высока вероятность, что где-то бьется память, оттого и такой странный стэктрейс.
еще раз, я прохожу корректно closeEvent и деструктор окна, потом я иду по dll типо Q5Widgets и нажимаю f10,f10 как только я дохожу до Q5Guid он попадает в нее и падает, куски кода комментировать не имеет смысла, я прохожу полность события в отладке close и деструктора, больше кода и нету в принципе,чтобы его проходить и отлаживать,это уже внутренности Qt!
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Непонятное падение программы
«
Ответ #38 :
Январь 29, 2021, 23:59 »
если бы проблема была во внутренностях Qt, то падало бы при закрытии любого окна. а мое предложение ниже ты, видимо, полностью проигнорировал.
дебаг сборка без подключенного отладчика тоже падает? (например, если просто из файлового менеджера запустить)
можно еще на другой машине и/или в другой ОС потестить.
«
Последнее редактирование: Январь 30, 2021, 00:01 от kambala
»
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
tux
Global Moderator
Бывалый
Offline
Сообщений: 404
Re: Непонятное падение программы
«
Ответ #39 :
Январь 30, 2021, 09:23 »
Цитата: opera от Январь 29, 2021, 17:29
я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec?
Отладчик - штука не волшебная. Допустим, что исключение вылетело при вызове функции из DLL. Или асинхронно вызвали фукцию из той же DLL, а обработчик уже закрыт на тот момент - "по крестику". Программа упадёт и отладчик, максимум, что сможет показать, что "упала" функция exec. Или покажет окно с ассемблером.
Можно расставить 100500 Q_ASSERT и ловить - вдруг, что попадётся.
Записан
Digital Art
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Непонятное падение программы
«
Ответ #40 :
Январь 30, 2021, 09:32 »
Цитата: opera от Январь 29, 2021, 19:39
По чему конкретно я еще должен ходить?К примеру, по событию закрытия окна closeEvent я хожу
Так, отладчик работает и стек падения тоже есть - ну так это хорошо. Отладчик должен показывать код/исходники всех вызовов стека, по крайней мере для дебажных Qt либ. Напр по дабл-клику или контекстному меню - ищите. В крайнем случае поставить break в ассемблере перед падением
Записан
Страниц:
1
2
[
3
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...