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

Войти
 
   Начало   Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
Страниц: 1 2 3 [4] 5 6 ... 10
 31 
 : Апрель 01, 2024, 08:37 
Автор sergek - Последний ответ от ssoft
Такое впечатление, что receiver не живой или почти не живой.
Базовый тип QObject выглядит подозрительно.

Нет ли сигнал слот взаимодействия через DirectConnection для объектов, связанных с разными потоками?
Или может сигнал слот взаимодействие через обычный AutoConnection, а потом используется moveToThread()?

 32 
 : Март 30, 2024, 11:40 
Автор sergek - Последний ответ от sergek
Спасибо за советы, коллеги.

 33 
 : Март 29, 2024, 15:33 
Автор sergek - Последний ответ от kambala
попробуй asan / tsan / valgrind

 34 
 : Март 29, 2024, 14:58 
Автор sergek - Последний ответ от Apktyc
Адрес в d 0xabababababababab выглядит максимально подозрительно и, возможно, намекает на переполнение стека.

 35 
 : Март 29, 2024, 14:36 
Автор sergek - Последний ответ от sergek
Коллеги,
пытаюсь отловить фатальную ошибку SIGSEGV "Segmentation fault". Возникает при выполнении одной из операций и довольно стабильно проявляется (но не всегда). Программа - система мониторинга оборудования, довольно сложная, многопоточная, активно используются сигнально-слотовые связи, работа с БД, с железом и т.д. Операция, на которой ломается программа - это обновление конфигурации оборудования, сводится к остановки сервисов опроса, загрузке новой конфигурации, подключения к оборудованию и запуск сервисов. Есть вложенные циклы событий в разных потоках, да и много чего еще.
Я это упоминаю, чтобы вы хоть небольшое представление имели.

Конкретный вопрос я сформулировать не могу, но, может, подскажете, куда мозги повернуть?
При возникновении ошибок стек вызовов (глубина ~25) мне ничего не дает - вызовы идут из библиотечных qeventloop.cpp,  qeventdispatcher.cpp и завершаются на QCoreApplication::notifyInternal2. И ломается на операторе, отмеченном "==>":

Код
C++ (Qt)
bool QCoreApplication::notifyInternal2(QObject *receiver, QEvent *event)
{
   bool selfRequired = QCoreApplicationPrivate::threadRequiresCoreApplication();
   if (!self && selfRequired)
       return false;
 
   // Make it possible for Qt Script to hook into events even
   // though QApplication is subclassed...
   bool result = false;
   void *cbdata[] = { receiver, event, &result };
   if (QInternal::activateCallbacks(QInternal::EventNotifyCallback, cbdata)) {
       return result;
   }
 
   // Qt enforces the rule that events can only be sent to objects in
   // the current thread, so receiver->d_func()->threadData is
   // equivalent to QThreadData::current(), just without the function
   // call overhead.
   QObjectPrivate *d = receiver->d_func();
==> QThreadData *threadData = d->threadData;
   QScopedScopeLevelCounter scopeLevelCounter(threadData);
   if (!selfRequired)
       return doNotify(receiver, event);
   return self->notify(receiver, event);
}

Отлачик дает, вроде, нормальные значения:

Код:
	Локальные переменные		
cbdata @0x1007c500 void*[3]
[0] 0x10d897d0 void*
[1] 0x1007c5a0 void*
[2] 0x1007c51f void*
d 0xabababababababab QObjectPrivate*
event @0x1007c5a0 QTimerEvent
[QEvent] @0x1007c5a0 QEvent
id 28 int
receiver @0x10d897d0 QObject
[vptr] _vptr.QObject
d_ptr 12370169555311111083 QScopedPointer<QObjectData>
staticMetaObject @0x6bbbdfc0 QMetaObject
staticQtMetaObject @0x6bbbe240 QMetaObject
result false bool
scopeLevelCounter <оптимизировано>
selfRequired true bool
Инспектор
Выражения
Возвращаемое значение
Подсказка
doNotify 9892236762171331414 bool (QObject *, QEvent *)
threadData <no such value>


У вас есть мысли, какие возможные причины могут приводить к ошибке на отмеченном операторе?

 36 
 : Март 28, 2024, 16:29 
Автор SektorCT - Последний ответ от Apktyc
TextArea наследник TextEdit, а для него есть QSyntaxHighlighter

 37 
 : Март 28, 2024, 14:39 
Автор SektorCT - Последний ответ от ssoft
TextArea отображает разметку html, выделяемые слова можно поместить в теги, определяющие формат выделения.

 38 
 : Март 28, 2024, 11:48 
Автор SektorCT - Последний ответ от SektorCT
Может кто подкинет идею как можно выделать в нем(TextArea) нужные слова?

 39 
 : Март 26, 2024, 14:23 
Автор SektorCT - Последний ответ от SektorCT
Всем привет.
Пытаюсь найти способ как слово которое надо найти в тексте расположенным в TextArea, найти и выделить.

Спасибо.

 40 
 : Март 22, 2024, 11:02 
Автор mokynis - Последний ответ от mokynis
костыль:
чтобы qDebug выводил информацию хотя бы в терминал, в
Проекты-(сбоку)Сборка и запуск-Запустить-(основное окно)Запустить-Запускать в терминале (поставить галочку)

Страниц: 1 2 3 [4] 5 6 ... 10

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