У меня есть приложение Qt5/C++, которое работает нормально, но при запуске в режиме отладки (GDB) эта ошибка появляется на консоли QT Creator (STDERR) - ИНОГДА !:Qt5/C++ генерирует ошибку «Corrupted shared library list» во время отладки
Corrupted shared library list: 0x7fffe8008e90 != 0x751e50
Я не могу найти никаких ссылок на причины, и я не могу понять, что запуск его (другое что-то делать с помощью QLinkedList) я попытался переключения. к QVector, но иногда появляется одна и та же ошибка.
Что это и как его исправить? Valgrind говорит, что нет коррупции памяти ... так ли это ложная проблема с сообщениями? Или я делаю что-то неправильно.
Я проследил вышеуказанную ошибку до последней строки (строка 4) ниже.
Settings *programSettings = Settings::instance();
QString driver=programSettings->database_driver();
driver="QMYSQL"; // Override for testing
m_db = QSqlDatabase::addDatabase(driver);
Это не имеет никакого смысла для меня ... может кто-нибудь объяснить, почему QSqlDatabase :: addDatabase линия вызывает повреждение? Также, почему ошибка появляется ТОЛЬКО при отладке ... но не при запуске без gdb?
Вы на Linux? –
Я не думаю, что Valgrind гарантированно поймает все категории ошибок. (Например, из коробки, он не захватывает переполнения массива в стеке.) Я не знаю, может ли быть ошибка, вызывающая это сообщение, или нет. –
Да - работает на Linux 64-разрядная Fedora 20. У меня установлен режим отладки Qt Creator (так что все параметры отладки должны быть включены) – TSG