Russian Qt Forum
Ноябрь 24, 2024, 06:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вылетает программа при релизе, что делать ?  (Прочитано 10399 раз)
AntonUfo
Гость
« : Октябрь 27, 2011, 16:49 »

Мучаюсь вот с чем, если запускаю программу в дебагге под компилятором, все нормально, все работает, а вот как только делаю релиз, то работает, то нет - растет память до предела и программа вылетает, возникает надпись на экране о ошибке, ни номера ошибки ни намек какого почему растет память нет. Что посоветуете ?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Октябрь 27, 2011, 16:51 »

Пересмотреть код и исправить ошибки.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
AntonUfo
Гость
« Ответ #2 : Октябрь 27, 2011, 16:54 »

Пересмотреть код и исправить ошибки.

пасиб конечно за непрозрачный намек, но если бы не бился два дня уже не написал бы на форум....

PS: конструктивные советы приветствуются.....
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Октябрь 27, 2011, 17:01 »

могу посоветовать нанять телепата для пользователей форума, желающих тебе помочь
Записан

Изучением 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
Янковский Александр
Гость
« Ответ #4 : Октябрь 27, 2011, 17:24 »

могу посоветовать нанять телепата для пользователей форума, желающих тебе помочь
ну ты злой какой-то... человек спрашивает, может чего стандартного багового кто что видел или слышал...

Раз память растет, значит где-то в потоках засада.
Например, ситуация: данные приходят по сети и складываются в очередь на обработку, а сам поток, разбирающий очередь по какой-то причине стопарнулся, вот и рост пямяти пошел...

Ну а если конкретно, то посмотри в сторону линкуемых сторонних библиотек. Для релиза и дебага они могут и отличаться
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Октябрь 27, 2011, 17:36 »

трудно делать предположения при нулевой информации. может, например, иметь место бесконечный цикл или рекурсия (криво заданное условие окончания), может что-то загрузиться не может, может...
Записан

Изучением 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
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #6 : Октябрь 27, 2011, 17:40 »

В выводе приложения какой код завершения приложения?
В рамках телепатии - проблемы неинициализированных переменных.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Октябрь 27, 2011, 18:10 »

Если под линукс - valgrind тебе поможет.
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Октябрь 27, 2011, 19:10 »

PS: конструктивные советы приветствуются.....
1) Отлаживаться с включенной оптимизацией (пусть отладчик и будет врать, но разобраться часто удается)

2)
но если бы не бился два дня уже не написал бы на форум....
возникает надпись на экране о ошибке, ни номера ошибки ни намек какого почему растет память нет.
Так что, за 2 дня так и не удалось локализоваться окружив вылет консольными сообщениями?  Улыбающийся

3)
пасиб
Когда двухсотый юноша показывает точно такое же ординарное остроумие - это капитально отбивает охоту отвечать  Улыбающийся
Записан
thechicho
Гость
« Ответ #9 : Октябрь 27, 2011, 22:02 »

это не ординарное остроумие, а современный сленг. привыкай, дальше будет "хуже" (для тебя)  Веселый
Записан
AntonUfo
Гость
« Ответ #10 : Октябрь 27, 2011, 22:06 »

замордовали прямо....  Непонимающий

попытаюсь еще два раза:
Программа в дебагге под компилятором работает нормально, а вот как только делаю релиз, память растет. Как правильно посмотреть почему ?
Повторюсь, точек останова наставить не могу и посмотреть, т.к. релиз, при запуске Debug все работает и ошибок невидно....
Мне кажется  что для нормального "без выпендрежа" ответа телепатом быть не надо.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #11 : Октябрь 27, 2011, 22:17 »

Тут может быть СТОЛЬКО ньюансов, что ответа дать просто невозможно. Лучшее решение - пересмотр кода и вывод в лог кри тических участков.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #12 : Октябрь 28, 2011, 01:48 »

Повторюсь, точек останова наставить не могу и посмотреть, т.к. релиз
Не переключайтесь между debug/release, они отличаются очень многим. Вместо этого в установках release включите генерацию отладки - это надо проверить в первую очередь. Если не повезет, попробуйте наоборот, завалить debug, напр. подключив ему все либы из release.

Если не знаете как сделать окно консоли и печатать в нем - спрашивайте, и стесняться нечего (в конце-концов на Вындоуз это не так просто  Улыбающийся)

Записан
Bepec
Гость
« Ответ #13 : Октябрь 28, 2011, 07:11 »

Скорее всего у тебя где то портится память/разрушается стек/выход за пределы массив/прочая гадость.

Как с этим бороться?

Выложить текст программы, или же самому просмотреть ее полностью, ставя как ни странно, контрольные сообщения, проверяя всевозможные значения.

У меня такая проблема была во вспомогательном классе, где выходило за пределы массива всего на 3 элемента Улыбающийся

Проблема появилась только через неделю эксплуатации, когда прога уже разошлась на тестирование Улыбающийся

Причем поведение было веселое - отжор памяти до ровно половины имеющейся, закрытие ГУИ составляющей и продолжение работы в *фоновом* режиме с потреблением 2 мб памяти Улыбающийся

PS искал неделю, не меньше, пришлось весь проект перебирать.

Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #14 : Октябрь 28, 2011, 07:52 »

Прогони через:
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.101 секунд. Запросов: 23.