前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎样快速调试linux内核?有哪些需要注意的问题?

怎样快速调试linux内核?有哪些需要注意的问题?

作者头像
程序员互动联盟
发布2018-09-29 15:49:05
1.2K0
发布2018-09-29 15:49:05
举报

这个问题就比较专业了,linux内核调试还是在调试内核驱动的时候用过,涉及的程度不是特别深,但是可以说下大致的思路,linux虽然贵为操作系统,但是归根到底还是一个程序,既然是程序就能用debug的方式去调试,只不过由于环境的差异,使用的方法和工具不尽相同,在linux下面常见的调试工具gdb,在windows上面更多的调试工具是界面化的,直接对应的中间变量的数值以及申请内存的地址都会直观的展示出来,在linux上主要是通过命令的方式查看,开始会觉得很不习惯,觉得很深奥,其实就是命令的行的使用也就是常见的几个命令。

回到正题linux内核调试用的kgdb,一种专门针对linux内核的调试工具,所谓的内核的调试,主要还是在嵌入式板卡上用的比较多,需要掌握一个概念交叉编译,这个是玩嵌入式的必备概念,通俗点讲,在主机电脑上将程序编译好,然后放在嵌入式板卡里面运行,在这就不一一举例如何去运行,这种教科书般的教程随手就能在网上获取,现在只是把一些关键技术步骤或者细节点归纳几条分享给大家:

1.生成的调试库以及驱动ko文件都会比较大,所以准备的磁盘空间至少20G左右

2.需要让内核支持支持kgdb调试功能,需要打开配置开关,正常的编译内核用make menuconfig,进入kernel hacking一项

3.在编译工程中注意文件的备份,一旦生成有问题,可以拿着之前的版本进行恢复

4.linux内核的调试其实就是vmlinux的调试,在这涉及到一个很关键的概念,远程调试,内核的调试一般采用串口连接的方式,现在linux应用远程调试用网络的居多

5.调试内核,很多命令使用还是基于gdb完成,gdb的命令还是要熟悉

简单呢归纳到这里,希望能帮到你。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
远程调试
远程调试(Remote Debugging,RD)在云端为用户提供上千台真实手机/定制机/模拟器设备,快速实现随时随地测试。运用云测技术对测试方式、操作体验进行了优化,具备多样性的测试能力,包括随时截图和记录调试日志,稳定的支持自动化测试, 设备灵活调度,用例高效执行, 快速定位产品功能和兼容性问题。云手机帮助应用、移动游戏快速发现和解决问题,节省百万硬件费用,加速敏捷研发流程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档