Russian Qt Forum
Ноябрь 23, 2024, 23:36
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Как отловить ошибку которая происходит только при закрытии приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как отловить ошибку которая происходит только при закрытии приложения (Прочитано 5114 раз)
kvrus
Гость
Как отловить ошибку которая происходит только при закрытии приложения
«
:
Август 29, 2012, 19:25 »
Дело такое, есть большое приложение с большим количеством классов, запускается и работает нормально нормально, но при закрытии приложения выдает ошибку "завершился с кодом -1073741819". На форумах говорят, что это попытка обратиться к объекту, которого нет (скорее всего по указателю). Так как возникает она только при закрытии приложения, то думается мне что кто то пытается удалить объект, который уже был удален ранее. То есть, надо выставить порядок удаления объектов в деструкторе. Что я собственно и пытался сделать, но без результатов. Никак не могу отловить то что происходит и исходник кинуть не могу, так как он большой и я не знаю где именно ошибка. Как вообще отлавливают такие ошибки?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #1 :
Август 29, 2012, 19:29 »
возможно ты какой-то виджет создаёшь в стеке и назначаешь ему родителя, который живёт до закрытия программы
Записан
Изучением 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
andrew.k
Гость
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #2 :
Август 29, 2012, 19:29 »
под отладчиком то пробовал запускать?
Записан
kvrus
Гость
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #3 :
Август 29, 2012, 19:31 »
А что происходит когда помещаю виджет в стек? Стек будет пытаться его удалить?
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #4 :
Август 29, 2012, 19:37 »
объект автоматически уничтожится по выходе из области видимости
Записан
Изучением 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
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #5 :
Август 29, 2012, 19:45 »
Смотри в PurifyPlus, для него есть пробная версия, она не показывает строку где происходит ошибка, но показывает саму ошибку, что натолкнёт на мысли.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #6 :
Август 29, 2012, 19:55 »
Цитата: kvrus от Август 29, 2012, 19:25
Как вообще отлавливают такие ошибки?
Отладчиком и др инструментами, менять что-то вслепую можно долго но безуспешно. В консоль смотреть не помешает. Часто помогает symbolic breakpoint.
Записан
andrew.k
Гость
Re: Как отловить ошибку которая происходит только при закрытии приложения
«
Ответ #7 :
Август 29, 2012, 19:55 »
Цитата: Alex Custov от Август 29, 2012, 19:45
Смотри в PurifyPlus, для него есть пробная версия, она не показывает строку где происходит ошибка, но показывает саму ошибку, что натолкнёт на мысли.
да скорее всего там все просто. и камбола прав с вероятностью в 79%.
думаю main.cpp будет достаточно для отлова ошибки)
Записан
panAlexey
Гипер активный житель
Offline
Сообщений: 864
Акцио ЗАРПЛАТА!!!!! :(
Re: Как отловить ошибку которая происходит т&
«
Ответ #8 :
Сентябрь 09, 2012, 17:26 »
Цитата: kvrus от Август 29, 2012, 19:25
Как вообще отлавливают такие ошибки?
Вырубают участок за участком и смотрят, где ошибка.
ПС. Лучше тестировать классы раздельно и хранить сторию версий в том-же свн-е.
Сравниваешь изменения от близких версии где такого бага нет и где есть и медитируешь над каждым изменением.
Где-то так.
Записан
Win Xp SP-2, Qt4.3.4/MinGW.
http://trdm.1gb.ru/
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...