在linux下,用gdb调试我的程序时会出现以下消息:
warning: Corrupted shared library list: 0x639130 != 0x7ffff7fd9598
在我的程序中,我通过dlopen()加载了几个.so文件。调用dlopen()后,将显示该消息。
然后,当我加载下一个.so时,会再次显示该消息,但这次使用不同的地址:
warning: Corrupted shared library list: 0x63c9e0 != 0x639130
我在互联网上查找了有关此消息的参考资料,但没有找到任何内容。有一些关于损坏的共享库的引用,但没有关于损坏的共享库列表。
有谁知道这可能是什么原因?
我正在运行Ubuntu AMD64并使用g ++命令行选项在64位编译:
-std=c++11 -fPIC
答案 0 :(得分:0)
当程序所共享的共享库dlopen()之一也具有对dlopen()一个先前已加载的库的代码时,似乎会发生这种情况。