Russian Qt Forum
Июнь 17, 2024, 07:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: под отладчиком работает, без отладчика - сегфолты....  (Прочитано 3523 раз)
Denjs
Гость
« : Ноябрь 03, 2010, 01:24 »

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

что делать?

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

что это может вообще быть?!  Грустный Непонимающий

QT 4.7, WinXP SP2,
собрано все в Debug

« Последнее редактирование: Ноябрь 03, 2010, 01:28 от Denjs » Записан
b-s-a
Гость
« Ответ #1 : Ноябрь 03, 2010, 11:38 »

да все что угодно. если есть возможность, собери под Linux и запусти под valgrind'ом. Он тебе напишет все, что твоя программа делает не так.
Записан
Denjs
Гость
« Ответ #2 : Ноябрь 03, 2010, 11:42 »

Пока часть сегфолтов исчезла после полной пересборки всех сопутствующих пакетов ... у меня QDroid с плагинами был в отладке в Qt4.6 собран - после того как пересобрал в Qt4.7 - вылет при логоне в начале сеанса работы с программой, который стабильно у меня  "воспроизводится" - исчез вроде... но при чем тут библиотеки QDroid - они никоим образом к куску кода который занимается логином не причастен...

ладно... попробую шаманствовать дальше...
Записан
Sahab
Гость
« Ответ #3 : Ноябрь 03, 2010, 13:16 »

использование неинициализированных переменных
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #4 : Ноябрь 03, 2010, 21:50 »

Цитировать
использование неинициализированных переменных
и как следствие затирка памяти

елси бы не было написано что все собрано в debug - можно было бы предположить что в Q_ASSERT() запихнута часть кода которая должна выполняться и в release

Q_ASSERT( init() );
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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