源码调试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
總結
以上是生活随笔為你收集整理的源码调试debug_info 的作用和使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataPipeline | PayPa
- 下一篇: 【原】Win SQL Server201