linux之警告 : Corrupted shared library list

sxdcgaq8080 阅读:64 2024-08-30 09:31:06 评论:0

在 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 

请您参考如下方法:

这似乎发生在程序的共享库 dlopen() 中的一个也具有 dlopen() 之前已经加载的库的代码时。


标签:linux
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号