SIGSEGV при установлении модели ( QTableView->setModel ) |
Здравствуйте, гость ( Вход | Регистрация )
SIGSEGV при установлении модели ( QTableView->setModel ) |
avkushnarenko |
16.10.2014, 18:05
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 16.10.2014 Пользователь №: 4250 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравсвуйте, Уважаемые. При разработке интерфейса столкнулся с проблемой перманентного SIGSEGV при вызове метода ui->tableSorts->setModel(model);
Итак, имею некоторый тип
Желаю написать редактор набора экземпляров такого типа в отдельном диалоге. Создаю диалог
В котором содержится модель CSortsTableModel
Соответственно, устанавливаю эту модель
В ui->tableSorts->setModel(model); SIGSEGV Гуление и изучение документиации не помогло. Перепробовал множество вариантов безрезультатно. Вопрос: в чём причина возникновения ошибки? Как её устранить? Подробности при обсуждении. |
|
|
lanz |
16.10.2014, 22:59
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Сбой сегментации обычно бывает при использовании неинициализированной памяти. Указателя на удаленный объект, неинициализированного указатля и т.п.
Устранить ее можно найдя, где происходит нарушение. Для этого можно посмотреть полный стек. В том коде что вы привели, все выглядит нормально. Скорее всего ошибка в другом месте. Выложите проект, либо минимальный проект который иллюстрирует ошибку. |
|
|
avkushnarenko |
17.10.2014, 15:20
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 16.10.2014 Пользователь №: 4250 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сбой сегментации обычно бывает при использовании неинициализированной памяти. Указателя на удаленный объект, неинициализированного указатля и т.п. Устранить ее можно найдя, где происходит нарушение. Для этого можно посмотреть полный стек. В том коде что вы привели, все выглядит нормально. Скорее всего ошибка в другом месте. Выложите проект, либо минимальный проект который иллюстрирует ошибку. Я нашёл проблему и устранил. Сейчас работает нормально. Сначала я пошёл тем способом, который вы указали, но безрезультатно. Отключая методы один за другим, я выяснил, что
не должен быть пустым ни при каких обстоятельствах и хотя бы возвращать
|
|
|
lanz |
17.10.2014, 22:35
Сообщение
#4
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Полезно читать ворнинги
|
|
|
avkushnarenko |
19.10.2014, 6:46
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 16.10.2014 Пользователь №: 4250 Спасибо сказали: 0 раз(а) Репутация: 0 |
Полезно читать ворнинги Безусловно полезно, но я использую alglib, который генерирует предупреждения числом в 400 с гаком. Это сыграло со мной злую шутку. |
|
|
Текстовая версия | Сейчас: 2.12.2024, 5:41 |