源码调试debug_info 的作用和使用方法

  在他通过gcc来编译程序时,在map文件中,经常会遇到如下的情况:

.debug_info 0x002191b6 0x1aa9 XXX

.debug_info 0x0021ac5f 0xce4 XXX
.debug_info 0x0021b943 0x9cf XXX
.debug_info 0x0021c312 0x1119 XXX
最近遇到了一些问题,需要查看map文件中的信息时候,发现上面的一些debug信息一直在

map文件中,这些到底是什么作用呢?通过什么来生成的呢? 看来自己知识体系中还存在不少

漏洞,要补一补了。

  通过查阅GNU的官方文档,才发现这个gcc是通过添加编译选项-g来控制输出编译调试信息的

通过这个调试信息,能方便的调试程序,具体调试过程和使用方法见文档:

  http://blog.techveda.org/howsourcedebuggerswork/ 

这篇文档写的很好,介绍的相当清晰。

  笔者尝试过,通过在编译选项中加入如下,可以很方便的来控制是否有debug信息编译出来,

KBUILD_CFLAGS   += -g

把这个去掉debug信息就没了。

 

  gcc参考文档:

https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html 

 

转载于:https://www.cnblogs.com/dylancao/p/8403533.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值