Russian Qt Forum
Ноябрь 24, 2024, 02:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Падает программа. Как понять где ошибка?
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Падает программа. Как понять где ошибка? (Прочитано 12674 раз)
qtkoder777
Частый гость
Offline
Сообщений: 245
Падает программа. Как понять где ошибка?
«
:
Август 26, 2015, 09:23 »
Падает программа при совершении некоторых действий, как нажатие на некоторые кнопки или удаление строки из таблицы. Причём раньше когда стоял только Qt 4.4.3 не падала, похоже что стала падать после установки Qt 4.8.5.
Отладчик открывает free.c, падение происходит при выходе из функции моей программы (на закрывающей скобочке).
Обычно если пишешь за пределы массива программа там же и падает, а здесь отладчик не даёт никакой информации.
Как найти ошибку?
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Падает программа. Как понять где ошибка?
«
Ответ #1 :
Август 26, 2015, 09:25 »
Дебажить, увеличить логгирование, использовать valgrind.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Падает программа. Как понять где ошибка?
«
Ответ #2 :
Август 26, 2015, 09:26 »
Цитата: qtkoder777 от Август 26, 2015, 09:23
Обычно если пишешь за пределы массива программа там же и падает
Не всегда. Иногда просто идё порча соседних данных.
Самый быстрый способ - через valgrind.
Записан
qtkoder777
Частый гость
Offline
Сообщений: 245
Re: Падает программа. Как понять где ошибка?
«
Ответ #3 :
Август 26, 2015, 09:39 »
Цитата: __Heaven__ от Август 26, 2015, 09:26
Самый быстрый способ - через valgrind.
А он с Qt проектами работает?
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Падает программа. Как понять где ошибка?
«
Ответ #4 :
Август 26, 2015, 09:39 »
Да
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Падает программа. Как понять где ошибка?
«
Ответ #5 :
Август 26, 2015, 09:40 »
Цитата: __Heaven__ от Август 26, 2015, 09:26
Самый быстрый способ - через valgrind.
это самый долгий )
столько мусору выдаст от самой qt - не найти свой баг
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Падает программа. Как понять где ошибка?
«
Ответ #6 :
Август 26, 2015, 09:40 »
Но valgrind только под Linux.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Падает программа. Как понять где ошибка?
«
Ответ #7 :
Август 26, 2015, 09:41 »
Цитата: qate от Август 26, 2015, 09:40
Цитата: __Heaven__ от Август 26, 2015, 09:26
Самый быстрый способ - через valgrind.
это самый долгий )
столько мусору выдаст от самой qt - не найти свой баг
Если запускать из-под Креатора, Кьютового мусора будет мало, там фильтруется.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qtkoder777
Частый гость
Offline
Сообщений: 245
Re: Падает программа. Как понять где ошибка?
«
Ответ #8 :
Август 26, 2015, 09:42 »
Цитата: qate от Август 26, 2015, 09:40
это самый долгий )
столько мусору выдаст от самой qt - не найти свой баг
А как тогда искать? Проект довольно большой, переписывать с нуля?
Записан
gil9red
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1805
Re: Падает программа. Как понять где ошибка?
«
Ответ #9 :
Август 26, 2015, 09:51 »
Цитата: qtkoder777 от Август 26, 2015, 09:42
Цитата: qate от Август 26, 2015, 09:40
это самый долгий )
столько мусору выдаст от самой qt - не найти свой баг
А как тогда искать? Проект довольно большой, переписывать с нуля?
Логируйте или запускайте под отладчиком
Записан
https://github.com/gil9red
https://ru.stackoverflow.com/users/201445/gil9red
qate
Супер
Offline
Сообщений: 1177
Re: Падает программа. Как понять где ошибка?
«
Ответ #10 :
Август 26, 2015, 09:54 »
Цитата: Пантер от Август 26, 2015, 09:41
Если запускать из-под Креатора, Кьютового мусора будет мало, там фильтруется.
да, так меньше
Записан
qtkoder777
Частый гость
Offline
Сообщений: 245
Re: Падает программа. Как понять где ошибка?
«
Ответ #11 :
Август 26, 2015, 09:55 »
Цитата: gil9red от Август 26, 2015, 09:51
Логируйте или запускайте под отладчиком
А что логировать то? Отладчик не помогает.
Записан
__Heaven__
Джедай : наставник для всех
Offline
Сообщений: 2130
Re: Падает программа. Как понять где ошибка?
«
Ответ #12 :
Август 26, 2015, 09:59 »
Под отладкой можно день - бесконечность просидеть. Быстрее поставить valgrind и прогнать в нём проект.
Даже если используется винда, поставить себе virtual box с линуксом на борту (например lubuntu) и накатить qtcreator с valgrind. Ещё ни раз пригодится.
Записан
qate
Супер
Offline
Сообщений: 1177
Re: Падает программа. Как понять где ошибка?
«
Ответ #13 :
Август 26, 2015, 10:00 »
Цитата: qtkoder777 от Август 26, 2015, 09:55
Отладчик не помогает.
если падает стабильно - считай что повезло, ищется элементарно - прям сам qtcreator и напишет где упал
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Падает программа. Как понять где ошибка?
«
Ответ #14 :
Август 26, 2015, 10:01 »
Цитата: qtkoder777 от Август 26, 2015, 09:55
А что логировать то? Отладчик не помогает.
Вы далеко не в худшем положении из возможных, знаете место вылета и действия что к нему приводят. Всего этого могло и не быть - вот тогда нужно начинать длинную песню с логами.
Цитата: qtkoder777 от Август 26, 2015, 09:23
Отладчик открывает free.c, падение происходит при выходе из функции моей программы (на закрывающей скобочке).
В первую очередь зайдите в эту скобочку - там обычно вызов деструкторов
Цитата: qate от Август 26, 2015, 10:00
если падает стабильно - считай что повезло,
То да
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...