crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в SEGFAULT во время выполнения скриптов
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
mva Дата 23.3.2015, 19:43
  Вопрос снимается. Разобрался сам.
mva Дата 23.3.2015, 15:58
  Добрый день!

Отлавливаю ошибку в своем приложении, которое на небольших входных данных работает нормально. Если взять входной файл подлиннее, во время выполнения скриптов, которые вызывают функцию из основного приложения, случайным образом происходит ошибка сегментации. Свойство одного из классов почему-то становится равным нулю в недрах библиотеки libQtCore. С помощью gdb я отследил этот момент и выяснил, что проиходит это в фунциии QObjectPrivate::clearGuards(QObject*) в QtCore.
Нашел исходный код этой функции, вот он:
void QObjectPrivate::clearGuards(QObject *object)
{
  if (!QObjectPrivate::get(object)->hasGuards)
    return;
  GuardHash *hash = guardHash();
  if (hash) {
    QMutexLocker locker(guardHashLock());
    GuardHash::iterator it = hash->find(object);
    const GuardHash::iterator end = hash->end();
    while (it.key() == object && it != end) {
      *it.value() = 0;
      it = hash->erase(it);
    }
  }
}

Как понять, что тут проиходит, и что мне делать?
Свой код я пока не выкладываю, ввиду его сложности.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 9:15