2024年4月13日发(作者:)

Source Insight实质上是一个支持多种开发语言(java,c ,c 等等)的编辑器,只不过由于其查

找、定位、彩色显示等功能的强大,常被我们当成源代码阅读工具使用。

作为一个开放源代码的操作系统,Linux附带的源代码库使得广大爱好者有了一个广泛学习、

深入钻研的机会,特别是Linux内核的组织极为复杂,同时,又不能像windows平台的程序

一样,可以使用集成开发环境通过察看变量和函数,甚至设置断点、单步运行、调试等手段

来弄清楚整个程序的组织结构,使得Linux内核源代码的阅读变得尤为困难。

当然Linux下的vim和emacs编辑程序并不是没有提供变量、函数搜索,彩色显示程序语句

等功能。它们的功能是非常强大的。比如,vim和emacs就各自内嵌了一个标记程序,分别

叫做ctag和etag,通过配置这两个程序,也可以实现功能强大的函数变量搜索功能,但是

由于其配置复杂,linux附带的有关资料也不是很详细,而且,即使建立好标记库,要实现

代码彩色显示功能,仍然需要进一步的配置(在另一片文章,我将会讲述如何配置这些功能),

同时,对于大多数爱好者来说,可能还不能熟练使用vim和emacs那些功能比较强大的命

令和快捷键。

为了方便的学习Linux源程序,我们不妨回到我们熟悉的window环境下,也算是“师以长夷

以制夷”吧。但是在Window平台上,使用一些常见的集成开发环境,效果也不是很理想,比

如难以将所有的文件加进去,查找速度缓慢,对于非Windows平台的函数不能彩色显示。于

是笔者通过在互联网上搜索,终于找到了一个强大的源代码编辑器,它的卓越性能使得学习

Linux内核源代码的难度大大降低,这便是Source Insight3.0,它是一个Windows平台下的共

享软件,可以从 /

上边下载30天试用版本。由于Source Insight

是一个Windows平台的应用软件,所以首先要通过相应手段把Linux系统上的程序源代码弄

到Windows平台下,这一点可以通过在linux平台上将/usr/src目录下的文件拷贝到Windows平

台的分区上,或者从网上光盘直接拷贝文件到Windows平台的分区来实现。

下面主要讲解如何使用Source Insight,考虑到阅读源程序的爱好者都有相当的软件使用水

平,本文对于一些琐碎、人所共知的细节略过不提,仅介绍一些主要内容,以便大家能够很

快熟练使用本软件,减少摸索的过程。

安装Source Insight并启动程序,可以进入图1界面。在工具条上有几个值得注意的地方,

如图所示,图中内凹左边的是工程按钮,用于显示工程窗口的情况;右边的那个按钮按下去

将会显示一个窗口,里边提供光标所在的函数体内对其他函数的调用图,通过点击该窗体里

那些函数就可以进入该函数所在的地方。

图1 Source Insight界面图

由于Source Insight实质上是一个支持多种开发语言(java,c ,c++等等)的编辑器,只不过由

于其查找、定位、彩色显示等功能的强大,而被我们当成源代码阅读工具使用。所以,为了

有效的阅读源程序,首先必须选择功能菜单上的 “Project”选项的子菜单“New Project”新建

一个项目,项目名称可以自由选定,当然也可以选择删除(Remove)一个项目。当删除一

个项目的时候,并不删除原有的源代码文件,只是将该软件生成的那些工程辅助文件删除。

设定之后,将会弹出一个对话框如图2,接受默认选择,如果,硬盘空间足够,可以将第一

个复选框选上,该选项将会需要与源代码大致同等的空间来建立一个本地数据库以加快查找

的速度。

图2 工程设置

点击“OK”按钮,接受选择后,将会有一个新的对话框弹出,在这个对话框里,可以选择将

要阅读的文件加入工程,一种方式是通过在File Name中输入要阅读源代码文件的名称,点

击“Add”按钮将其加入,也可以通过其中“Add All”和“Add Tree”两个按钮可以将选中目录的

所有文件加入到工程中,其中“Add All”选项会提示加入顶层文件和递归加入所有文件两种