Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
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, 18:40) Link так может обращаешься в потоках с разным кодом (главный и вспомогательный), тогда мютех на функцию потока не поможет А вот этого я не понял.....В одном потоке создаеться другой, а мьютекс объявлен как глобальный..... |
|
|
|
|
kuler |
13.1.2010, 19:13
Сообщение
#16
|
![]() Танцор диско ![]() ![]() ![]() Группа: Участник Сообщений: 441 Регистрация: 11.9.2008 Из: Москва Пользователь №: 289 Спасибо сказали: 6 раз(а) Репутация: -1
|
Цитата(Skier78rus @ 13.1.2010, 19:03) Link Или Вы имеете ввиду только для поиска бага? ага говнокод ужаснейший. Надо разбить на методы, а между ними писать в дебаг файл, при вылете смотришь что прошло а до чего не дошло. Уже чтото. |
|
|
|
|
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, смотри Link. код читать в виде простого текста тяжело.
|
|
|
|
|
azure |
14.1.2010, 14:40
Сообщение
#19
|
|
Студент ![]() Группа: Участник Сообщений: 60 Регистрация: 24.12.2009 Пользователь №: 1332 Спасибо сказали: 5 раз(а) Репутация: 0
|
Цитата(Skier78rus @ 13.1.2010, 16:49) Link в Линухе при ошибках посылаються сигналы(типо SIGABRT) и никаких exceptions не происходит. Это я вычитал в инете, когда столкнулся с проблеммой если вы не обрабатываете иксепшены в программе то по умолчанию она завершает работу (т.е. SIGABRT). Если перехватываете то можете как угодно её обрабатывать. |
|
|
|
|
Skier78rus |
14.1.2010, 18:28
Сообщение
#20
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(azure @ 14.1.2010, 14:40) Link Цитата(Skier78rus @ 13.1.2010, 16:49) Link в Линухе при ошибках посылаються сигналы(типо SIGABRT) и никаких exceptions не происходит. Это я вычитал в инете, когда столкнулся с проблеммой если вы не обрабатываете иксепшены в программе то по умолчанию она завершает работу (т.е. SIGABRT). Если перехватываете то можете как угодно её обрабатывать. Вот в том-то и проблемма.....я не знаю способов перехватить ексепшен, кроме как try cath, который не ловит ничего...... Я может быть чего-то не понимаю или где-нибудь забыл поставить галочку нужную....но ничего он не ловит... Если Вы знаете другой метод отлова исключений подскажите пожалуйста буду очень признателен!!! |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 2:22 |