目的是例如进程crash了可以查到到系统库libc的相关函数调用栈等调试信息。
- 配置yum的repos
如果当前yum没有配置debuginfo的repos则需要配置,例如:
$ cat /etc/yum.repos.d/debuginfo.repo
[linux_debuginfo]
name=Linux 7 debuginfo
baseurl=http://<hostname>/linux7/debuginfo
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
gpgcheck=1
enabled=1
- list可用的glibc debug包信息
$ yum list glibc-debuginfo glibc-debuginfo-common
Available Packages
glibc-debuginfo.i686 2.17-326.0.9.el7_9
glibc-debuginfo.x86_64 2.17-326.0.9.el7_9
glibc-debuginfo-common.i686 2.17-326.0.9.el7_9
glibc-debuginfo-common.x86_64 2.17-326.0.9.el7_9
- 查询当前glibc的安装版本
$ yum list installed glibc glibc-common
Installed Packages
glibc.x86_64 2.17-326.0.1.el7_9
glibc-common.x86_64 2.17-326.0.1.el7_9
安装的glibc debug包必须和当前系统安装的glibc版本保持一致,否则会出错:
warning: the debug information found in "/usr/lib/debug/lib64/libc-2.17.so.debug" does not match "/lib64/libc-2.17.so" (CRC mismatch).
- 查询指定版本的debug包
这个版本必须和glibc的版本一致。
$ yum list glibc-debuginfo-2.17-326.0.1.el7_9.x86_64
或者也可以使用
$ yum list --showduplicates glibc-debuginfo | grep 2.17-326.0.1
- 安装指定版本
$ sudo yum install glibc-debuginfo-2.17-326.0.1.el7_9.x86_64
安装glibc-debuginfo它会自动也安装依赖包glibc-debuginfo-common。
- 另外如果系统没有man信息
即,如果:
$ man memcpy
No manual entry for memcpy
则,使用下面命令安装:
$ sudo yum install man-pages
网友评论