推荐几个跟踪函数流程的工具吧

148 views
Skip to first unread message

Li Haifeng

unread,
Jul 11, 2011, 10:39:21 PM7/11/11
to Zh-Kernel, sh...@googlegroups.com
各位专家,除了systemtap,和gdb,还有什么可以跟踪内核函数调用流程的?

- Systemtap太麻烦了;
- strace挺好,可是只有系统调用。

还有没有其他的简单易用的工具?
_______________________________________________
Linux 内核开发中文邮件列表
Linux-...@zh-kernel.org
http://zh-kernel.org/mailman/listinfo/linux-kernel
Linux 内核开发中文社区: http://zh-kernel.org

Américo Wang

unread,
Jul 12, 2011, 6:45:46 AM7/12/11
to Li Haifeng, Zh-Kernel, sh...@googlegroups.com
2011/7/12 Li Haifeng <omy...@gmail.com>:
> 各位专家,除了systemtap,和gdb,还有什么可以跟踪内核函数调用流程的?
>

trace-cmd:
http://lwn.net/Articles/341902/

Wizard

unread,
Jul 13, 2011, 11:01:02 PM7/13/11
to Américo Wang, Zh-Kernel, sh...@googlegroups.com
在 2011年7月12日 下午6:45,Américo Wang <xiyou.w...@gmail.com> 写道:
> 2011/7/12 Li Haifeng <omy...@gmail.com>:
>> 各位专家,除了systemtap,和gdb,还有什么可以跟踪内核函数调用流程的?
>>
>
> trace-cmd:
> http://lwn.net/Articles/341902/

这个tool是基于ftrace的啊。
还可以做performance的测试?


> _______________________________________________
> Linux 内核开发中文邮件列表
> Linux-...@zh-kernel.org
> http://zh-kernel.org/mailman/listinfo/linux-kernel
> Linux 内核开发中文社区: http://zh-kernel.org

--
Wizard

Sinbad.Li

unread,
Jul 14, 2011, 3:13:13 AM7/14/11
to Wizard, Zh-Kernel, sh...@googlegroups.com

在windows下,我用的source insight,拿来看kernel感觉还不错。

jiangtao.jit

unread,
Jul 14, 2011, 6:47:54 AM7/14/11
to Sinbad.Li, Wizard, Zh-Kernel, shlug


是的,我也比较喜欢用SI
不过有个问题
有一些宏定义在结构里面,比如struct net_device里的特性
这样在其他地方SI定位不到

有些优化的变量使用__read_mostly
SI也定位不到

这样的问题大家有什么好办法解决吗?
或者是我的SI配置不对?

2011-07-14



jiangtao.jit



发件人: Sinbad.Li
发送时间: 2011-07-14 15:14:45
收件人: Wizard
抄送: Zh-Kernel; shlug
主题: Re:Re: 推荐几个跟踪函数流程的工具吧

Sinbad.Li

unread,
Jul 14, 2011, 7:03:00 AM7/14/11
to jiangtao.jit, Zh-Kernel, shlug
好像可以啊,我没有遇到这种情况啊,不过这东西我也没弄熟悉。哈哈。


在 2011-07-14 18:47:54,"jiangtao.jit" <jiangt...@gmail.com> 写道:


jiangtao.jit

unread,
Jul 14, 2011, 7:22:44 AM7/14/11
to Sinbad.Li, Zh-Kernel

你的SI是怎配置的?

比如:
init/main.c里的early_boot_irqs_disabled 变量
使用bool early_boot_irqs_disabled __read_mostly; 定义的,后面有个__read_mostly
在函数start_kernel()里赋值的时候,比如early_boot_irqs_disabled = false;
我看到的early_boot_irqs_disabled 变量就是黑色的
鼠标点上去不能跳转到变量定义的地方


2011-07-14



jiangtao.jit



发件人: Sinbad.Li
发送时间: 2011-07-14 19:03:24
收件人: jiangtao.jit
抄送: Wizard; Zh-Kernel; shlug
主题: Re:Re: Re:Re: 推荐几个跟踪函数流程的工具吧

好像可以啊,我没有遇到这种情况啊,不过这东西我也没弄熟悉。哈哈。

Sinbad.Li

unread,
Jul 15, 2011, 4:55:14 AM7/15/11
to jiangtao.jit, Zh-Kernel
确实这样的哦,我的这个也是这样的。它似乎是吧__read_mostly当成变量了啊。


在 2011-07-14 19:22:44,"jiangtao.jit" <jiangt...@gmail.com> 写道:


jiangtao.jit

unread,
Jul 15, 2011, 6:36:35 AM7/15/11
to Sinbad.Li, Zh-Kernel

不知道怎么解决。。。


2011-07-15



jiangtao.jit



发件人: Sinbad.Li
发送时间: 2011-07-15 16:56:09
收件人: jiangtao.jit
抄送: Wizard; Zh-Kernel
主题: Re:Re:_Re:Re:_Re:Re:_推荐几个跟踪函数流程的工具吧
Reply all
Reply to author
Forward
0 new messages