我正在通过Zed Shaw的艰难学习方式开展工作.
在Valgrind的章节中,"你应该看到的内容"部分包含各种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
Run Code Online (Sandbox Code Playgroud)
我过去通过随意安装软件包(通过软件包或从源代码构建)来打砖机,所以我想知道我在这里做什么.
问题:
由于我已经安装了glibc-devel,调试库是否已经存在,我只需要链接到它们和/或添加编译开关?
如果我在启用调试的情况下从源代码(或安装软件包)重新构建glibc,我怎么能确保不会意外地破坏机器(即因为构建错误的软件包并触发库不兼容)?
lar*_*sks 11
在CentOS下,您可以使用该debuginfo-install命令安装特定包的调试信息.例如:
debuginfo-install glibc
Run Code Online (Sandbox Code Playgroud)
为此,您需要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
Run Code Online (Sandbox Code Playgroud)
警告:如果你从谷歌找到你的方式来查看CentOS 6的信息:这对CentOS 5来说非常有用.CentOS团队很难与CentOS 6一起行动,CentOS 6 debuginfo存储库也没有了 -对最近的包裹的约会.您可能或可能无法为CentOS 6找到合适的debuginfo包.