如何阅读LXR?

时间:2014-10-09 17:32:55

标签: linux lxr

我想阅读一些Linux内核源代码,我找到了LXR。 这很棒,但有时当我点击某些功能时,比如'kfree',我得到了这个: enter image description here

使用ld'link'时,一定不能有冲突。所以问题是:如何确定哪一个是THE ONE ??? (我认为gcc + makefile是解决方案,但我不知道该怎么做......)

谢谢!

2 个答案:

答案 0 :(得分:0)

1。 如果您对内核有一些隐含的知识,您会注意到kfree是竹节或平板或懒人的一部分。查看内核配置,您可能会注意到您使用slub allocator(通过dfefault)。所以你得出结论 - 正确答案是mm / slub.c:3334。

2

nm -a ./vmlinux | grep kfree
ffffffff81151bd0 T kfree
addr2line -e ./vmlinux 0xffffffff81151bd0
/home/alexhoppus/Desktop/linux/mm/slub.c:3335

答案 1 :(得分:0)

这是另一个linux交叉引用搜索,可能有更详细的信息

https://code-grep.com/view/project/54b083273b2082684a000008/linux-3.19-rc2?search=kfree&type=definitions&page=0

如您所见,有些是预处理器定义,有些是函数。要知道哪一个是正确的,您可以查看配置选项,通常在内核的.config文件中。