Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
BRE |
14.1.2010, 18:43
Сообщение
#21
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Почитай про сигналы и их обработку в linux:
man signal Сейчас нет возможности посмотреть исходники, думаю завтра получиться, но рекомендую добавить функции подробного логирования (хорошо помогает отлаживать такие ошибки). |
|
|
|
|
Skier78rus |
15.1.2010, 12:41
Сообщение
#22
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Спасибо.
Прочитал про сигналы, поправьте, если я ошибаюсь, но есть два типа сигналов, первые это сигналы QT, которые легко перехватываються и обрабатываються. И второй тип это сигналы ядра Linux, типо SIGABRT, которые тоже можно самому перехватить, но я не понял как.... А функции подробного логирования это qDebug и тому подобное из библиотеки TestLib??? |
|
|
|
|
BRE |
15.1.2010, 12:49
Сообщение
#23
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44
|
Цитата(Skier78rus @ 15.1.2010, 12:41) Link Прочитал про сигналы, поправьте, если я ошибаюсь, но есть два типа сигналов, первые это сигналы QT, которые легко перехватываються и обрабатываються. И второй тип это сигналы ядра Linux, типо SIGABRT, которые тоже можно самому перехватить, но я не понял как.... Link Цитата(Skier78rus @ 15.1.2010, 12:41) Link А функции подробного логирования это qDebug и тому подобное из библиотеки TestLib??? Можно просто писать в файл то, что программа делает в данный момент, а можно использовать и qDebug. Посмотри еще на эту функцию, она поможет переопределить весь вывод от qDebug в файл: QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler ) |
|
|
|
|
azure |
15.1.2010, 14:58
Сообщение
#24
|
|
Студент ![]() Группа: Участник Сообщений: 60 Регистрация: 24.12.2009 Пользователь №: 1332 Спасибо сказали: 5 раз(а) Репутация: 0
|
Цитата(Skier78rus @ 14.1.2010, 17:28) Link Вот в том-то и проблемма.....я не знаю способов перехватить ексепшен, кроме как try cath, который не ловит ничего...... вероятно, в этом месте ексепшенов не происходит. смоделируйте ситуацию с ексепшеном и словити её. try\catch - это свойство языка, оно обязано быть реализовано во всех компиляторах с++. |
|
|
|
|
Skier78rus |
16.1.2010, 3:11
Сообщение
#25
|
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 13.1.2010 Пользователь №: 1368 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(BRE @ 15.1.2010, 12:49) Link Цитата(Skier78rus @ 15.1.2010, 12:41) Link Прочитал про сигналы, поправьте, если я ошибаюсь, но есть два типа сигналов, первые это сигналы QT, которые легко перехватываються и обрабатываються. И второй тип это сигналы ядра Linux, типо SIGABRT, которые тоже можно самому перехватить, но я не понял как.... Link Цитата(Skier78rus @ 15.1.2010, 12:41) Link А функции подробного логирования это qDebug и тому подобное из библиотеки TestLib??? Можно просто писать в файл то, что программа делает в данный момент, а можно использовать и qDebug. Посмотри еще на эту функцию, она поможет переопределить весь вывод от qDebug в файл: QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler ) Спасибо Буду копать... |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 22.12.2025, 18:24 |