Подскажите куда копать....(сигнал SIGABRT) |
Здравствуйте, гость ( Вход | Регистрация )
Подскажите куда копать....(сигнал SIGABRT) |
BRE |
13.1.2010, 17:58
Сообщение
#11
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
2 Skier78rus
Ну тогда пора код выкладывать. Для начала интересно взглянуть на main.cpp |
|
|
kuler |
13.1.2010, 17:58
Сообщение
#12
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
в какой то контейнер одновременно в двух потоках обращаешься (меняешь размер)
|
|
|
Skier78rus |
13.1.2010, 18:12
Сообщение
#13
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0 |
Везде исрользуеться QMutex мог конечно налажать где-то, но я две недели уже глюк ищу....
И все что в потоке крутиться(функция не большая) засунул в один большой Мутекс.... код main.cpp
QApplication a(argc,argv); вот эта строка если в valgrinde смотреть со всеми ворнингами не нравиться.... А насчет остального кода, я просто не совсем понимаю какой именно привести....впринципе это две функции(через несколько мин их тоже выложу) размер ничего не меняю.....есть один массив глобальный(40 Мб) в который я пишу и из которого читаю..... И выделенные еще 5 массивов в конструкторе диалога.....они убиваються в деструкторе.... |
|
|
kuler |
13.1.2010, 18:40
Сообщение
#14
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
так может обращаешься в потоках с разным кодом (главный и вспомогательный), тогда мютех на функцию потока не поможет
в студии то чего собрать не хочешь? |
|
|
Skier78rus |
13.1.2010, 19:03
Сообщение
#15
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0 |
мне под Линух надо......начальство сказало, что пора осваивать....
Или Вы имеете ввиду только для поиска бага? Это функция которая вызываеться по таймеру в основном потоке, кроме нее больше ничего не выполняеться(только в главном окне ожидание результата dialog.exec) Раскрывающийся текст
А это функция самого потока..... Раскрывающийся текст
так может обращаешься в потоках с разным кодом (главный и вспомогательный), тогда мютех на функцию потока не поможет А вот этого я не понял.....В одном потоке создаеться другой, а мьютекс объявлен как глобальный..... |
|
|
kuler |
13.1.2010, 19:13
Сообщение
#16
|
Танцор диско Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1 |
|
|
|
Skier78rus |
13.1.2010, 19:20
Сообщение
#17
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0 |
Про код соглашусь......
Я просто поудалял, там есть функция AddDebugFile, пытался по ней невышло..... Там с постом какая-то проблема,надо нижние два раскрывающиеся тексты смотреть..... А как qt к студии прикрутить? |
|
|
Litkevich Yuriy |
13.1.2010, 23:15
Сообщение
#18
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Skier78rus, смотри Справка по кнопкам и тэгам форума. код читать в виде простого текста тяжело.
|
|
|
azure |
14.1.2010, 14:40
Сообщение
#19
|
Студент Группа: Участник Сообщений: 60 Регистрация: 24.12.2009 Пользователь №: 1332 Спасибо сказали: 5 раз(а) Репутация: 0 |
в Линухе при ошибках посылаються сигналы(типо SIGABRT) и никаких exceptions не происходит. Это я вычитал в инете, когда столкнулся с проблеммой если вы не обрабатываете иксепшены в программе то по умолчанию она завершает работу (т.е. SIGABRT). Если перехватываете то можете как угодно её обрабатывать. |
|
|
Skier78rus |
14.1.2010, 18:28
Сообщение
#20
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0 |
в Линухе при ошибках посылаються сигналы(типо SIGABRT) и никаких exceptions не происходит. Это я вычитал в инете, когда столкнулся с проблеммой если вы не обрабатываете иксепшены в программе то по умолчанию она завершает работу (т.е. SIGABRT). Если перехватываете то можете как угодно её обрабатывать. Вот в том-то и проблемма.....я не знаю способов перехватить ексепшен, кроме как try cath, который не ловит ничего...... Я может быть чего-то не понимаю или где-нибудь забыл поставить галочку нужную....но ничего он не ловит... Если Вы знаете другой метод отлова исключений подскажите пожалуйста буду очень признателен!!! |
|
|
Текстовая версия | Сейчас: 25.4.2024, 13:29 |