问题现象
系统:CTyunOS 2.0.1
线上生产环境postgres进程crash,产生core文件,调试的时候看到有如下警告:
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
解决方案
1、确认glibc版本
[root@localhost ~]# rpm -qa|grep glibc
glibc-debuginfo-2.28-49.ctl2.x86_64
2、安装对应版本的glibc-debuginfo
yum install glibc-debuginfo-2.28-49.ctl2.x86_64.rpm
扩展知识
glibc-debuginfo
glibc-debuginfo是glibc的调试信息包。在Linux系统中,为了使用gdb等工具跟踪和调试程序,需要在编译期使用gcc的-g选项生成调试信息。然而,对于系统库如glibc,如果直接在库中包含调试信息,会显著增加库的大小,对普通用户来说是不必要的。因此,glibc的调试信息被单独抽取出来,形成了glibc-debuginfo包。
glibc-debuginfo包包含了glibc的源代码文件(如.c和.h文件)和调试信息文件(如*.debug文件),这些文件在gdb调试时用于在机器码与源代码之间建立映射关系。
debuginfo-install
如果配置了debuginfo的源,可以使用debuginfo-install安装:
debuginfo-install glibc