内核编译过程的调试小窍门

内核编译过程的调试窍门
摘要由CSDN通过智能技术生成

通常的makefile调试手段学会了后,个人使用了一个调试内核编译过程的小窍门。

因为内核的文件超多,各个makefile又是大家通用的。所以如果在某个makefile中添加打印信息,那估计就是满眼输出,你都不知道看哪里了。

思路

那可以怎么做呢?

我们不是已经看到内核编译的整体架构是

build := -f $(srctree)/scripts/Makefile.build obj
    $(Q)$(MAKE) $(build)=$@

好了,我想到的方法就是,在Make某个builtin.o的时候,强行把规则改了,变成使用另一个Makefile.build。这样就可以在自己添加的Makefile.build中,添加调试输出了。

对net/9p/目录调试的例子

下面给个例子,拿net/9p/这个目录举例。

比如我们可以

make net/9p/built-in.o

来编译这个文件。但是可能在编译的时候发现没有达到我们的预期,或者是想看看这个编译的过程都是什么样子的,学习一下kbuild的结构。那么可以做如下改动。

diff --git a/Makefile b/Makefile
index 2203500..dac1344 100644
--- a/Makefile
+++ b/Makefile
@@ -1547,6 +1547,8 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值