Название: Непонятное падение программы Отправлено: opera от Январь 26, 2021, 15:23 Добрый день, есть непонятное падение программы только в режиме Debug, выдает следущее сообщение:
"Exception thrown at 0x00007FFB144F3C4D (Qt5Guid.dll) in MyApp.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF." на строчке Код: QApplication app( argc, argv ); Название: Re: Непонятное падение программы Отправлено: tux от Январь 26, 2021, 15:30 1) Версия Qt какая?
2) Программа падает любая или определённая? Название: Re: Непонятное падение программы Отправлено: opera от Январь 26, 2021, 15:45 1)5.13.2
2)Определенная Название: Re: Непонятное падение программы Отправлено: qate от Январь 26, 2021, 15:59 Что говорит запуск под отладчиком ?
Название: Re: Непонятное падение программы Отправлено: opera от Январь 26, 2021, 16:05 Что говорит запуск под отладчиком ? все то,что я скинуд в шапке темы. Все проходит и работает, но когда отпускаешь breakpoint и нажимаешь f5, то падает на app.exec()Название: Re: Непонятное падение программы Отправлено: tux от Январь 26, 2021, 16:52 Может просто попробовать собрать на более свежей версии Qt? На дворе уже 5.15.2.
Если не хочется ломать рабочую Qt - можно завести виртуалку. Название: Re: Непонятное падение программы Отправлено: qate от Январь 26, 2021, 19:35 все то,что я скинуд в шапке темы. Все проходит и работает, но когда отпускаешь breakpoint и нажимаешь f5, то падает на app.exec() обычно отладчик останавливается и показывает где упал без кода - предположу что идет освобождение ранее освобожденного экземпляра класса Название: Re: Непонятное падение программы Отправлено: __Heaven__ от Январь 27, 2021, 08:14 Убедитесь ещё на всякий, что либы используются от одного компиля и что все они дебажные
Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 14:04 Может просто попробовать собрать на более свежей версии Qt? На дворе уже 5.15.2. а инсталлера для 5.15 я не нашел, последний который был,это как раз 5.14. Если есть ссылка,то можно?Если не хочется ломать рабочую Qt - можно завести виртуалку. Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 14:05 все то,что я скинуд в шапке темы. Все проходит и работает, но когда отпускаешь breakpoint и нажимаешь f5, то падает на app.exec() обычно отладчик останавливается и показывает где упал без кода - предположу что идет освобождение ранее освобожденного экземпляра класса он останавливается на строчке: ----->int app_ret = app.exec(); Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 14:05 Убедитесь ещё на всякий, что либы используются от одного компиля и что все они дебажные как это сделать,как проверить?Название: Re: Непонятное падение программы Отправлено: ecspertiza от Январь 27, 2021, 15:39 может быть callstack есть?
Название: Re: Непонятное падение программы Отправлено: tux от Январь 27, 2021, 15:43 а инсталлера для 5.15 я не нашел, последний который был,это как раз 5.14. Если есть ссылка,то можно? Качаете любой инсталлятор Qt и просто ставите. Там уже 6.0.1 вполне ставится, буквально сегодня пробовал. На винде.На linux 5.15.2. И свежее, в ближайшем будущем, точно не будет. Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 15:55 а инсталлера для 5.15 я не нашел, последний который был,это как раз 5.14. Если есть ссылка,то можно? Качаете любой инсталлятор Qt и просто ставите. Там уже 6.0.1 вполне ставится, буквально сегодня пробовал. На винде.На linux 5.15.2. И свежее, в ближайшем будущем, точно не будет. Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 15:58 может быть callstack есть? Название: Re: Непонятное падение программы Отправлено: tux от Январь 27, 2021, 16:35 Можно ссылку на инсталлер,чтобы установить 5.15?НЕ совсем понимаю, где я на любом инсталлере смогу выбрать 5.15? Прямо сейчас проверил. Допустим https://www.qt.io/download-qt-installer?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4 Вообще, в гугле или яндексе набираем "qt download" и с сайта качаем инсталлятор. Там можно поставить хоть несколько версий.Название: Re: Непонятное падение программы Отправлено: qate от Январь 27, 2021, 16:40 думаю сторонний код мешает работе - комментируй его до тех пор пока падать не перестанет
Название: Re: Непонятное падение программы Отправлено: ecspertiza от Январь 27, 2021, 18:39 В папке с приложением есть библиотеки Qt? Как будто разные версии Qt.
Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 19:07 Можно ссылку на инсталлер,чтобы установить 5.15?НЕ совсем понимаю, где я на любом инсталлере смогу выбрать 5.15? Прямо сейчас проверил. Допустим https://www.qt.io/download-qt-installer?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4 Вообще, в гугле или яндексе набираем "qt download" и с сайта качаем инсталлятор. Там можно поставить хоть несколько версий.Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 19:16 В папке с приложением есть библиотеки Qt? Как будто разные версии Qt. нет, не вижуНазвание: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 19:20 В папке с приложением есть библиотеки Qt? Как будто разные версии Qt. У меня еще почему-то настройки стоят(см.картинку 5.14), а при сборке пишет : 'BksMtRisk.exe' (Win32): Loaded 'C:\Qt\Qt5.13.2\5.13.2\msvc2017_64\bin\Qt5Guid.dll'.Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 19:27 Можно ссылку на инсталлер,чтобы установить 5.15?НЕ совсем понимаю, где я на любом инсталлере смогу выбрать 5.15? Прямо сейчас проверил. Допустим https://www.qt.io/download-qt-installer?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4 Вообще, в гугле или яндексе набираем "qt download" и с сайта качаем инсталлятор. Там можно поставить хоть несколько версий.Название: Re: Непонятное падение программы Отправлено: opera от Январь 27, 2021, 19:45 В папке с приложением есть библиотеки Qt? Как будто разные версии Qt. У меня еще почему-то настройки стоят(см.картинку 5.14), а при сборке пишет : 'BksMtRisk.exe' (Win32): Loaded 'C:\Qt\Qt5.13.2\5.13.2\msvc2017_64\bin\Qt5Guid.dll'.результат такой же Название: Re: Непонятное падение программы Отправлено: tux от Январь 28, 2021, 10:30 Без кода можно гадать вечно. Допустим, я бы ещё попробовал собрать проект на MinGW. Ну и расставил бы 100500 точек остановки.
Название: Re: Непонятное падение программы Отправлено: ecspertiza от Январь 28, 2021, 10:35 Release тоже падает?
Название: Re: Непонятное падение программы Отправлено: opera от Январь 28, 2021, 11:57 Release тоже падает? нет,релиз работаетНазвание: Re: Непонятное падение программы Отправлено: qate от Январь 28, 2021, 16:45 ставь в чистую виртуалку и собирай в ней
если не будет падать - проблема в текущей ОС если будет - проблема в коде Название: Re: Непонятное падение программы Отправлено: ecspertiza от Январь 28, 2021, 19:31 С какими еще библиотеками компилируешь проект кроме Qt? Велика вероятность что проблема в них. Название: Re: Непонятное падение программы Отправлено: opera от Январь 28, 2021, 22:54 С какими еще библиотеками компилируешь проект кроме Qt? Велика вероятность что проблема в них. Название: Re: Непонятное падение программы Отправлено: tux от Январь 29, 2021, 14:17 Ну, буст использует куча людей и вряд ли дело в нём. А вот по метатрейдеру я бы напрягся.
Оно ведь кривое, даже без Qt. Название: Re: Непонятное падение программы Отправлено: opera от Январь 29, 2021, 15:24 Ну, буст использует куча людей и вряд ли дело в нём. А вот по метатрейдеру я бы напрягся. да, но это проблема возникает только при закрытии (X) одного из окон приложения и только в режиме debug, во всех остальных случаях, которые я видел и использовал,ничего подобного и критичного нет.Когда приложение создает окно дополнительное и ты его закрываешь, то приложение падает на строке, которую я писал выше. Ни на access violation ни на что-то подобное он не ругаетсяОно ведь кривое, даже без Qt. Название: Re: Непонятное падение программы Отправлено: kambala от Январь 29, 2021, 16:03 тогда, очевидно, надо искать проблему именно в том окне
Название: Re: Непонятное падение программы Отправлено: tux от Январь 29, 2021, 17:20 то приложение падает на строке, которую я писал выше. Проблема не обязательно именно в этой строке. Но, опять же, без кода это всё - гадание.Название: Re: Непонятное падение программы Отправлено: opera от Январь 29, 2021, 17:29 то приложение падает на строке, которую я писал выше. Проблема не обязательно именно в этой строке. Но, опять же, без кода это всё - гадание.Название: Re: Непонятное падение программы Отправлено: Igors от Январь 29, 2021, 17:35 я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec? А он (отладчик) в "нутро" заходит? Т.е. если дойти до app.exec() и сделать "step in" (не знаю какая клавиша в Вашем IDE), то Вы "ходите" по коду Qt либы? Если нет, то надо "пересобирать", иначе ловить нечего. И собирать в новые папки/мамки (а не поверх старых) Название: Re: Непонятное падение программы Отправлено: opera от Январь 29, 2021, 19:39 я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec? А он (отладчик) в "нутро" заходит? Т.е. если дойти до app.exec() и сделать "step in" (не знаю какая клавиша в Вашем IDE), то Вы "ходите" по коду Qt либы? Если нет, то надо "пересобирать", иначе ловить нечего. И собирать в новые папки/мамки (а не поверх старых) Название: Re: Непонятное падение программы Отправлено: kambala от Январь 29, 2021, 20:11 если совсем нет догадок о причинах, берешь то окно и начинаешь отключать куски его кода, пока не локализуешь краш.
еще попробуй через valgrind или подобную утилиту прогнать — высока вероятность, что где-то бьется память, оттого и такой странный стэктрейс. Название: Re: Непонятное падение программы Отправлено: opera от Январь 29, 2021, 20:54 если совсем нет догадок о причинах, берешь то окно и начинаешь отключать куски его кода, пока не локализуешь краш. еще раз, я прохожу корректно closeEvent и деструктор окна, потом я иду по dll типо Q5Widgets и нажимаю f10,f10 как только я дохожу до Q5Guid он попадает в нее и падает, куски кода комментировать не имеет смысла, я прохожу полность события в отладке close и деструктора, больше кода и нету в принципе,чтобы его проходить и отлаживать,это уже внутренности Qt!еще попробуй через valgrind или подобную утилиту прогнать — высока вероятность, что где-то бьется память, оттого и такой странный стэктрейс. Название: Re: Непонятное падение программы Отправлено: kambala от Январь 29, 2021, 23:59 если бы проблема была во внутренностях Qt, то падало бы при закрытии любого окна. а мое предложение ниже ты, видимо, полностью проигнорировал.
дебаг сборка без подключенного отладчика тоже падает? (например, если просто из файлового менеджера запустить) можно еще на другой машине и/или в другой ОС потестить. Название: Re: Непонятное падение программы Отправлено: tux от Январь 30, 2021, 09:23 я понимаю, но почему отладчик тогда не показывает причину, а ссылается на QtGuid.dll и указывает на общую строку exec? Отладчик - штука не волшебная. Допустим, что исключение вылетело при вызове функции из DLL. Или асинхронно вызвали фукцию из той же DLL, а обработчик уже закрыт на тот момент - "по крестику". Программа упадёт и отладчик, максимум, что сможет показать, что "упала" функция exec. Или покажет окно с ассемблером.Можно расставить 100500 Q_ASSERT и ловить - вдруг, что попадётся. Название: Re: Непонятное падение программы Отправлено: Igors от Январь 30, 2021, 09:32 По чему конкретно я еще должен ходить?К примеру, по событию закрытия окна closeEvent я хожу Так, отладчик работает и стек падения тоже есть - ну так это хорошо. Отладчик должен показывать код/исходники всех вызовов стека, по крайней мере для дебажных Qt либ. Напр по дабл-клику или контекстному меню - ищите. В крайнем случае поставить break в ассемблере перед падением |