背景
- 嵌入式设备的空间非常有限,所以程序的大小需要进行压缩,例如使用strip工具;
- 程序出现coredump问题以后,使用GDB调试core文件,需要有symbol信息;
冲突
那么是否有一种方法可以在压缩前保留所有的调试信息,答案是肯定的;
解决方案
使用objcopy、strip共同完成,步骤如下:
保存symbol信息
objcopy --only-keep-debug yourprogram yourprogram.dbg
压缩程序
strip --strip-debug yourprogram
调试使用
gdb -c your.core yourprogram
(gdb) symbol-file yourprogram.dbg
针对嵌入式设备空间有限,程序需压缩的情况,文章介绍了如何在使用strip工具压缩程序的同时保留调试信息。通过objcopy保存symbol到yourprogram.dbg,然后strip掉程序的调试部分。当需要调试core文件时,利用gdb,结合原始的yourprogram.dbg文件进行调试。

4765

被折叠的 条评论
为什么被折叠?



