【发布时间】:2012-10-31 04:28:41
【问题描述】:
我正在处理RHEL WS 4.5。
我已经获得了匹配这个系统的glibc源rpm,打开它使用rpm2cpio获取它的内容。
在该树中工作,我为 mtrace.c 创建了一个补丁(我想添加更多堆栈回溯级别)并将其合并到规范文件中,并创建了一组新的 RPM,包括 debuginfo rpm。
我将所有这些都安装在测试虚拟机上(从相同的 RH 基础映像创建),并且可以确认我的更改已包含在内。
但是对于更复杂的执行,我在 mtrace.c 中崩溃了......但 gdb 找不到调试信息,所以我没有得到行号信息,我实际上无法调试失败。
根据日期,我想我可以确认调试信息安装在/usr/src/debug/glibc-2.3.6/中的测试系统上
我试过了
sharedlibrary libc*
在 gdb 中,它告诉我符号已经加载。
我的测试包括一个本地构建的 python,并且为 python 找到了完整的符号。
我的感觉是 glibc 可能不是在启用调试的 rpmbuild 下构建的。我已经查看了 glibc.spec 文件,甚至使用了
_enable_debug_packages
定义为 1 看起来可能会影响结果。我对 rpmbuild 构建步骤中调用的配置脚本的审查没有给我任何提示。
嗯 .. 刚刚找到 /usr/lib/debug/lib/libc-2.3.4.so.debug 和 /usr/lib/debug/lib/tls/i486/libc-2.3.4.so.debug 但是这两个都被文件命令报告为剥离。
【问题讨论】: