品牌型号:惠普240 G3
系统:Windows 10专业版
软件版本:Source Insight 4.0
用Source Insight看代码的时候,有时候会遇到搜索不到的问题。比如.s汇编文件搜不到,或者字符串搜不到。其实这些问题检查一下或者简单设置就可以解决。下面就来介绍下怎么处理Source Insight搜索不到.s文件,Source Insight搜索不到字符串。
一、Source Insight搜索不到.s文件
.s文件是汇编代码,用Source Insight看内核或者驱动代码的时候经常碰到。有时候文件存在,但搜不到,或者添加到工程的时候找不到。进行如下设置即可解决。
1、文件类型添加
Source Insight默认没有开启对.s文件的支持。这种汇编文件需要单独配置一下才能被识别。
点菜单Options下的File Type Options。

点击Add Type,设置一个新的文件类型,比如asm。然后在File filter添加文件类型*.s和*.S。

这两处都改完,之后再添加文件的时候,.s和.S的汇编文件就能被正确识别了。
2、工程建立之后再加文件
如果工程已经建好了才发现.s文件没加进去,可以重新添加。
点Project下的Add and Remove Project Files。

找到汇编文件所在的目录,选中所有.s和.S文件,点Add加进去就行。

3、注意事项
有时候内核代码里汇编文件后缀是.S(大写S),跟普通小写.s不一样。在File Filter里记得要同时加上*.s和*.S,两种都加上就不会漏了。
二、Source Insight搜索不到字符串
代码里的字符串确认存在,但是搜不到。这种情况一般有几个可能的原因,可以逐一排查下。
1、搜索选项没设对
Ctrl+F打开搜索框之后,下边有几个选项需要确认一下。

Case Sensitive是区分大小写,勾选上,如果搜索的字符串大小写对不上就搜不到。
Whole Words Only是全字匹配,选上的话,搜count不会匹配到counter,可能两个词长得很像,但实际不一样,需要确认下。
Use Regular Expressions是正则表达式,如果不小心勾上了,但搜索的内容又不符合输入的正则表达式,就会匹配不到。
把这几个选项都检查一遍,根据搜索内容确认是否应该打开。
2、搜索范围不对
搜索的时候,确认下范围是当前文件还是整个项目。可能要搜索的对象不是在当前的文件里,Ctrl+F搜索是仅限当前文件的。
如果想在整个项目里搜,选择Search下的Lookup References打开多文件搜索。

在这个界面的Search In处,选择对应的搜索范围,如果是在整个项目里搜索,就选择All Project Files。

3、文件没有被索引
新加到工程里的文件,Source Insight需要建立索引才能搜索。如果文件刚加进去、过程中修改了文件就搜不到。
点Project下的Synchronize Files,重新解析就可以解决。重建索引需要等一会儿,特别是工程比较大的时候。
4、编码问题
文件编码不一致也可能导致搜索不到。比如文件是UTF-8编码,但Source Insight按GBK去读,就会出现乱码,搜什么都搜不到。
点File下的Reload as Encoding,重新加载文件,选择正确的编码格式,看到显示没有乱码就是正确的编码了。

按照上面这个排查下基本就可以解决搜索不到的问题了。
以上就是关于如何解决Source Insight搜索不到.s文件,Source Insight搜索不到字符串的全部内容了。搜索不到.s文件需要配置对应的文件类型,添加*.s和*.S后缀。字符串搜索不到的问题,可以按照本文介绍的方法逐一排查。希望以上内容可以帮到大家更好的使用Source Insight。
