品牌型号:惠普240 G3
系统:Windows 10专业版
软件版本:Source Insight 4.0
看内核源码是Source Insight的强项,大型项目代码结构复杂,Source Insight本身符号解析能力强大,内核源码这种规模的项目也能轻松处理。还有就是编程的时候经常遇到文件包含的问题,include语句找不到对应的文件,会影响编码进展。下面就来介绍下Source Insight如何查看内核源码,Source Insight如何查看文件包含错误。
一、Source Insight如何查看内核源码
Linux内核代码量非常大。好几个G的代码,靠编辑器打开很难理清结构。Source Insight对大型项目的支持不错,用来翻内核源码是个常见操作。
1、创建内核源码工程
用Source Insight看内核源码,第一步得新建一个工程。点菜单栏的Project,选择New Project。

给工程起个名字,比如叫Linux_Kernel,然后路径选择工程数据文件保存的位置。
然后会进入添加文件的界面,内核源码解压到哪个目录,就选哪个目录。点右边的Add Tree,会把整个目录树都加进去。

2、导入.s汇编文件
内核源码里有不少汇编文件,后缀是.S或者.s。这种文件默认不会被Source Insight识别,需要单独配置一下。
点Options下的File Type Options,点击Add Type,新建文件类型,比如asm。然后在File filter输入框里加上.s;.S,用分号隔开。

这样以后新建工程加入文件的时候,汇编文件也会被自动加进去。不会漏掉。

3、同步文件
配置完之后重新同步一下符号数据库,点Project下的Synchronize Files。索引建立需要点时间,等索引建完了跳转才能正常工作。
4、使用跳转功能
索引建好之后,看内核代码就方便多了。把光标放在某个函数名上。按Ctrl+鼠标左键,能直接跳到函数定义的地方。
二、Source Insight如何查看文件包含错误
写C代码的时候经常要用#include包含头文件,出错的话,编译的时候会报错。这种情况一般是路径配置的问题,Source Insight可以辅助定位。

1、使用跳转功能判断
如果include了一个不存在的头文件,Source Insight可以通过跳转功能来判断。把光标放在报错的那一行,按Ctrl+鼠标左键尝试跳转。如果提示"Symbol not found"或者根本跳不到任何地方,说明这个头文件Source Insight找不到,映证了编译时的错误。

常见原因有两个。一是头文件路径没有配置对,Source Insight不知道去哪儿找这个文件。二是头文件根本不在项目目录里,Source Insight没索引到这个文件。
2、检查文件是否在工程里
有时候include的文件根本没被加到工程里。Source Insight自然找不到。
点Project下的Add and Remove Project Files。

看看include的那个文件在不在列表里。如果不在,手动Add进去。

确认头文件在工程里之后,再确认下路径是正确的即可。
3、更新符号数据库
改了项目配置之后,符号数据库需要重建才能生效。点Project下的Synchronize Files,重建整个项目的符号索引。重建索引需要等一会儿,项目越大等待时间越长。
以上就是关于Source Insight如何查看内核源码,Source Insight如何查看文件包含错误的全部内容了。内核代码用Source Insight来看效率还是很高的。而文件包含错误一般是路径配置的问题,Source Insight可以帮忙辅助定位。希望以上内容可以帮到大家。
