Russian Qt Forum
Июля 01, 2025, 00:07
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Как отловить ошибку которая происходит только при закрытии приложения
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как отловить ошибку которая происходит только при закрытии приложения (Прочитано 5352 раз)
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
Сообщений: 865
Акцио ЗАРПЛАТА!!!!! :(
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...