Qt5/c++ 在调试期间生成'Corrupted shared library list'错误
Qt5/c++ generating 'Corrupted shared library list' error during debug
我有一个Qt5/C++应用程序,它似乎工作正常,但在调试模式(GDB)下运行时,QT Creator控制台(stderr)上会弹出此错误-有时!:
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的情况下运行时不会?
根据视图的数量,似乎有很多人有这个问题。我们把代码简化为一个简单的例子,然后重现这个问题。问题的根源不是用户代码,而是Qt创建者本身。我们不能走得更远了——只要忍受它,直到Qt Creator修复出现。
看起来你在写不属于自己的内存。看起来您正在取消引用一个具有未初始化值的指针。在启用所有警告的情况下编译应用程序,并确保您理解所有警告。在那之后,你可能需要开始一个代码审计,当然,在你最小化代码之后。
相关文章:
- Boost Graph Library,修复节点大小
- SFML library: http request
- 解决"ld: library not found for -ltensorflow_framework.2.3.0"
- Linking library C++
- 为什么我会收到"Run-Time Check Failure #2 - Stack around the variable 'pr' was corrupted"错误?
- 在VS2019项目中集成ImageMagick:x64-windows-static library
- OpenSSL fips in C++ wrapper Library 如何?错误:指纹不匹配
- C++ class vs a library
- C++ library with Tensorflow on Android
- CMake:尝试在 Jenkins 构建机器上运行时出现"Linked Library"错误 (0xc0000135)
- 将 c++ cmake-library 构建发布到本地存储库时出现 Gradle 错误
- 为什么'allocate in one library and free in the other'是错误的
- 链接 library.lib 使用 setup.py.
- 目标提升::<library>已经有导入的位置 + 链接错误
- 如何修复初始化后'stack around variable was corrupted.'变量未更改为分配的值
- Visual Studio 2017 C++,如何定义一个"环境变量"'Additional Library Directory'?
- C++ Boost SML Library
- Windows 套接字和身份验证构建在包含 Poco-Library 时失败
- Qt小部件应用程序"Library not registered"错误
- Qt5/c++ 在调试期间生成'Corrupted shared library list'错误