我的软件的一个用户使用 Debian wheezy。该软件生成了我想要分析的核心转储。但是,要使它正常工作,我需要正确版本的低级系统库,尤其是 glibc。
因此,我安装了最接近用户版本的 Debian 版本:Debian wheezy 7.4。现在我得到了:
libc6:amd64 2.13-38+deb7u1 amd64 Embedded GNU C Library: Shared libraries
apt-get为我提供了版本 的更新2.13-38+deb7u6
。但我需要 版本2.13-38+deb7u4
(这是生成核心转储的版本)。
安装此 libc 版本的正确方法是什么?
答案1
事实证明我对 apt-get 不够熟悉。我通过发出以下命令成功安装了必要的 glibc 版本:
apt-get install libc-bin=2.13-38+deb7u4 libc6=2.13-38+deb7u4
我甚至降级了它,但一切正常。核心转储分析现在可以正常工作。
答案2
我不会安装它,而是将它解压到某个工作目录中并通过 引用它LD_LIBRARY_PATH
。降级 libc6 包可能会很成问题。
您的客户应该能够为您提供他们的 libc6 版本。但是,建议使用libc6-dbg
包含调试符号的软件包。不幸的是,该7u4
版本较旧,不再可用。