Название: [РЕШЕНО] Как узнать почему программа падает на return a.exec(); ? Отправлено: Hrundel от Апрель 03, 2014, 13:31 Всем привет,
программа проходит удачно через все функции и когда заканчивает обход - падает в main на return a.exec(); Код
Как можно определить источник ошибки? Понятно, что источник ошибки сидит перед компьютером, но все же хочется найти объективную причину :) Как это сделать? Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: Bepec от Апрель 03, 2014, 14:18 Если она падает на return'е, значит роняет приложение какой то вызов слота. Соответственно берём и ставим на все функции main брякпоинты и смотрим по шажку куда что убегает :)
Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: Hrundel от Апрель 03, 2014, 14:22 Дык, делал. Ничего вроде, как не убегает.
Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: Гурман от Апрель 03, 2014, 14:25 ну для начала
Код: return a.exec(); заменить на Код: int r = a.exec(); и смотреть где упадет... а вообще, скорее всего, где-то есть лишний delete Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: kambala от Апрель 03, 2014, 14:26 может в каком-то деструкторе, который вызывается только при завершении программы, второй раз удаляется указатель
Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: Swa от Апрель 03, 2014, 14:31 Запускаете программу в отладчике и в момент "падения" можно будет по стектрейсу посмотреть, где ошибочный код
Название: Re: Как узнать почему программа падает на return a.exec(); ? Отправлено: Hrundel от Апрель 03, 2014, 17:39 ... а вообще, скорее всего, где-то есть лишний delete ... второй раз удаляется указатель Гурман, kambala, спасибо. Нашелся лишний delete; Всем спасибо! |