如何构建与系统同构且带调试信息的Glib EABI共享库
构建树莓派系统下带调试信息的Glib共享库
以下是构建与系统版本结构完全一致、带有调试信息且启用-frecord-gcc-switches的Glib库的具体步骤:
安装完整构建依赖
先安装树莓派系统中构建Glib所需的全部依赖包,避免手动排查依赖的繁琐:sudo apt-get build-dep glib2.0-0调整编译与构建配置
进入通过apt-get source glib2.0-0获取的源码目录,找到debian/rules文件:- 在文件中定位CFLAGS/CXXFLAGS相关配置行,追加
-g -frecord-gcc-switches参数,注意保留原有编译选项(如-O2优化等级),确保与系统默认构建参数一致。 - 检查Meson的配置参数(debian/rules中会有meson_args相关内容),添加
-Ddebug=true保证调试信息生成,同时保留-Dprefix=/usr等路径配置,确保安装结构和系统版本完全匹配。
- 在文件中定位CFLAGS/CXXFLAGS相关配置行,追加
构建并安装
在源码根目录执行以下命令构建deb包(-us -uc表示跳过签名步骤):dpkg-buildpackage -us -uc -b构建完成后,在源码目录的上级目录会生成对应的deb包,执行以下命令安装:
sudo dpkg -i libglib2.0-0_*.deb libglib2.0-dev_*.deb验证效果
重启调试会话,在gdb中执行bt命令,此时应该能看到完整的调用回溯,包括Glib库内部的函数栈,且可以查看对应源码。
内容的提问来源于stack exchange,提问作者bloogy
相关产品推荐
相关产品推荐

