emacs cscope linux kernel 找不到符号的一种原因

 

当阅读linux内核代码时,我一般使用emacs + cscope,

但是今天发生了找不到符合的问题。

cscope can not find symbol function sock_setbindtodevice

 

找了半天原因,重建了很多次索引库,都不行。但是egrep就可以正常找到。

最后发现,是因为子目录里也创建了cscope的索引库,

emac在使用索引的时候,会从当前目录向上一级查找,遇到第一个索引库后停止。

如图:

 

把非预期的索引库文件删除后,恢复正常。

 

非预期索引产生的原因:

当时emacs+cscope进行代码浏览时,如果使用cscope的查找功能,并且没有提前常见索引库,emacs便会自动在当前目录里生成索引。

 

posted on 2025-01-10 12:20  toong  阅读(1)  评论(0编辑  收藏  举报