GDB - C程序调试

GDB - C程序调试

  • 背景
  • 冲突
  • 解决方案
    • 保存symbol信息
    • 压缩程序
    • 调试使用

背景

  1. 嵌入式设备的空间非常有限,所以程序的大小需要进行压缩,例如使用strip工具;
  2. 程序出现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

你可能感兴趣的:(嵌入式硬件,linux)