Ubuntu 22.04下如何获取libc调试符号?原libc6-dbg包已无法满足需求
在Ubuntu 22.04获取libc调试符号的方案
官方包现状
Ubuntu 22.04及后续版本中,libc6-dbg仅包含部分.debug文件,目前没有官方提供的、包含完整带调试符号libc动态库的替代包,这是一个已记录的长期问题,进展缓慢。
除自行编译外的可行方法
1. 使用官方调试符号源安装libc6-dbgsym
这是最便捷的方式,配置后gdb可自动获取完整符号:
- 配置调试符号源:
echo "deb http://ddebs.ubuntu.com jammy main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ddebs.list echo "deb http://ddebs.ubuntu.com jammy-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list echo "deb http://ddebs.ubuntu.com jammy-proposed main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ddebs.list - 导入GPG密钥以验证源:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ECDCAD72428D7C01 - 更新包索引并安装符号包:
sudo apt update && sudo apt install libc6-dbgsym
安装完成后,gdb调试时会自动加载对应的完整libc调试符号。
2. 从glibc官方资源提取符号
找到与系统当前libc版本完全匹配的glibc发布包,解压后从中提取调试符号文件,通过gdb的add-symbol-file命令手动加载符号。
内容的提问来源于stack exchange,提问作者minhuw
相关产品推荐
相关产品推荐

