内核函数跟踪工具

来源:互联网 发布:罪恶之城 知乎 编辑:程序博客网 时间:2024/06/10 16:36

 转自 http://www.lemote.com/bbs/viewthread.php?tid=22213&extra=&page=1

龙芯上的内核函数跟踪工具ftrace

from: http://oss.lzu.edu.cn/blog/blog.php?do_showone/tid_2060.html

我们有很多可以跟踪应用程序函数执行过程和调用关系的工具,诸如strace, calltree, gprof等,
更多的工具见我的另外一篇博客:

《各类分析函数调用关系图的工具》
http://oss.lzu.edu.cn/blog/blog.php?/do_showone/tid_1636.html

但是,能够跟踪内核函数执行过程和调用关系的却不是很多,典型的有kft,systemtap等,更多相关工具见这里:
http://lwn.net/Articles/291091/

而这些内核跟踪工具大多是跟平台相关的,所以能够直接在龙芯上用的也有限,不过我最近刚把kft移植到loongson2f上,
可惜kft至今还没有进入mainline kernel,所以只能以补丁的形式发布在这里了:
http://oss.lzu.edu.cn/blog/blog.php?do_showone/tid_2027.html

不过目前只支持32bit哦,感兴趣的话,可以把我发在上面帖子里头的代码下载下去弄一下64bit的,
64bit的主要区别是地址长度处理的问题,弄起来应该问题不大。

如果想要使用更眩的内核函数跟踪工具,那么强烈建议你用ftrace,它不仅功能强大,
而且已经进入了mainline kernel,关于它的介绍看这里:

http://lwn.net/Articles/322666/   

前些天刚把它移植到loongson2f上的,在qemu/malta上也测试过,支持32bit/64bit,支持小端和大端。
昨天刚把它迁移到最新的linux-2.6.29上,感兴趣的话就开始你的内核函数跟踪历程吧。

为什么要跟踪内核的函数执行过程呢?

1、学习和研究内核,结合一些内核相关书籍分析和研究Linux内核。
2、优化内核,让Linux内核跑得更快!

ftrace for mips很有可能会被集成到linux-2.6.29的stable版或者后续的linux-2.6.30中~~
原创粉丝点击