![]() |
|
Модераторы: xvr |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
всем привет.
есть код написанный на С++, преимущественно с использованием boost. код многопоточный. в некоторый момент ловлю исключение:
по последней строке, могу судить о том, что что-то с блокировкой мьютексов. а их в коде не мало. собственно вопрос: как понять где/откуда бросается исключение? какие тулзы/инструменты использовать? работаю в QtCreator. так и не понял как в нем можно просмотреть стек вызовов. спасибо. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
Поставь точку останова на throw (делается когда программа уже запущена) В режиме отладки внизу на левой половине окна. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
в том то и дело, что после этого throw, программа просто завершается. сама в режиме отладки стек-то есть. а вот как бы его увидеть когда программа уже упала?.. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
boostcoder, а ты случаем не в режиме release собрал прогу? В режиме отладки программа в случае ошибки останавливается и ждет от тебя действий.
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
boostcoder, я тебе говорю, или ты не под отладчиком запустил, или у тебя программа в релизе.
Добавлено через 1 минуту и 24 секунды А, я забыл, что у тебя не сегфолт, а исключение... Тогда действительно будет нормально завершаться, если точки останова не понаделал. В т.ч. и на throw. Попробуй еще "синхронизировать" точки останова. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
||||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
boostcoder,
обычно правильное логирование решает все проблемы ;) Добавлено через 7 минут и 51 секунду еще можно через set_terminate поставить свой обработчик и на него уже бряк
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 16 Всего: 110 |
как-то недопёр
спасибо. помогло. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |