打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linux内核源代码分析工具

Linux内核源代码分析工具

2009-08-01 14:44

凡是尝试做过内核分析的人都知道,Linux的内核组织结构虽然非常有条理,但是,它毕竟是众人合作的结果,在阅读代码的时候要将各个部分结合起来,确实是件非常困难的事情。因为在内核中的代码层次结构肯定分多个层次,那么对一个函数的分析,肯定会涉及到多个函数,而每一个函数可能又有多层的调用,一层层下来,直接在代码文件中查找那些函数肯定会让你失去耐心和兴趣。

俗话说:“工欲善其事,必先利其器”。面对Linux这样庞大的源代码,必须有相应工具的支持才能使分析有效地进行下去。 在此介绍两种源代码的分析工具,希望能对感兴趣的读者有所帮助。

1 .Linux超文本交叉代码检索工具

Linux超文本交叉代码检索工具LXR(Linux Cross Reference),是由挪威奥斯陆大学数学系Arne GeorgGleditsch和Per KristianGjermshus编写的。这个工具实际上运行在Linux或者Unix平台下,通过对源代码中的所有符号建立索引,从而可以方便的检索任何一个符号,包括函数、外部变量、文件名、宏定义等等。不仅仅是针对Linux源代码,对于C语言的其他大型的项目,都可以建立其lxr站点,以提供开发者查询代码,以及后继开发者学习代码。

  

目前的lxr是专门为Linux下面的Apache服务器设计的,通过运行perl脚本,检索源代码索引文件,将数据发送到网络客户端的Web浏览器上。任何一种平台上的Web浏览器都可以访问,这就方便了习惯在Windows平台下工作的用户。

关于lxr的英文网站为http://lxr.linux.no/,在中国Linux论坛http://www.linuxforum.net上有其镜象。

2. Windows平台下的源代码阅读工具Source Insight

为了方便地学习Linux源程序,我们不妨回到我们熟悉的window环境下。但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。在Windows平台下有一个强大的源代码编辑器,它的卓越性能使得学习Linux内核源代码的难度大大降低,这便是SourceInsight,它是一个Windows平台下的共享软件,可以从http://www.sourceinsight.com/上下载试用版本。由于SourceInsight是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码移到Windows平台下,这一点可以通过在Linux下将/usr/src目录下的文件拷贝到Windows的分区上,或者从网上或光盘直接拷贝文件到Windows的分区。


a. Windows系统可以用Source Insight,Linux系统可以用Source Navigator。

  b. vim或emacs编辑器,配合cscope、ctags、etags等交叉索引工具。

  c. vim或emacs编辑器,配合grep、egrep等文本搜索工具,不过最好要对源代码目录结构有所熟悉

  d. LXR,以网页的形式通过浏览器浏览,安装复杂(debian下安装容易,请版面搜寻lxr)

  校外:可以直接访问http://lxr.linux.no/source/在线阅读Linux内核源代码。

  校内:可以访问http://10.214.14.127/lxr/http/source/,如果需要特定版本可以联系vatano,只有空间足够就放上去。

  e. GNU global,可以在命令行用,也可以生成hypertext,类似lxr,但更省事。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux源代码分析和阅读工具比较
SourceInsight使用教程
第一章 概述-Linux系统管理
Kongove’s Page ? Blog Archive ? 使用Vim Ctags Cscope阅读源代码
Android SDK源码安装教程
Linux系统为什么是服务器系统的王者
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服