我正在研究Zed Shaw的艰难学习方法。
在Valgrind的章节中,"What you should see"部分包含各种glibc函数的行号。
我已经确定(显然)我的CentOS 5.5安装已经安装了非调试glibc。然而,yum没有列出glibc-dbg(或任何类似的东西:
[nzucker:~/projects/lcthw]$ yum info \*glibc\* | grep Name
Name : glibc
Name : glibc
Name : glibc-common
Name : glibc-devel
Name : glibc-devel
Name : glibc-headers
Name : compat-glibc
Name : compat-glibc
Name : compat-glibc-headers
Name : glibc-utils
我过去通过随意安装软件包(通过软件包或从源代码构建)来封装Linux机箱,所以我想知道我在这里做了什么。
问题:
由于我已经安装了glibc-devel,调试库是否已经存在,我只需要链接到它们和/或添加编译开关?
如果我在启用调试的情况下从源代码(或安装软件包)重新构建glibc,我怎么能确保不会意外地破坏机器(即因为构建错误的软件包并触发库不兼容)?
答案 0 :(得分:10)
在CentOS下,您可以使用debuginfo-install
命令安装特定包的调试信息。例如:
debuginfo-install glibc
为此,您需要定义debuginfo
存储库。对于CentOS 5,请在/etc/yum.repos.d/CentOS-Base-debuginfo.repo
中添加以下内容:
[base-debuginfo]
name=CentOS-$releasever - DebugInfo
baseurl=http://debuginfo.centos.org/$releasever/$basearch/
gpgcheck=0
enabled=0
protect=1
priority=1
警告:如果你在谷歌找到通往CentOS 6的信息:这对CentOS 5很有用.CentOS团队很难与CentOS 6一起行动,CentOS 6 debuginfo存储库是对最新软件包的过时尊重。您可能会也可能无法为CentOS 6找到合适的debuginfo包。