我试图找到一种方法来转储所有函数名称及其来自cscope数据库的路径。有没有办法从cscope CLI做到这一点?
答案 0 :(得分:11)
尝试以下方法:
cscope -R -L -2 ".*" | awk -F ' ' '{print $2 "#" $1}' | sort | uniq
cscope -R -L -2 ".*"
将输出被调用的函数
任何功能(见下面选项的说明)。对于找到的每个引用,cscope
输出一行,包含文件名,函数名,行号和行文本,用空格分隔。awk
提取由$2
分隔的函数名称$1
和文件名#
。如果您需要其他输出字段或分隔符,请更改$2
,$1
和分隔符#
。sort
。uniq
获取唯一项目。 cscope
个选项(请参阅http://cscope.sourceforge.net/cscope_man_page.html):
-R
递归源文件的子目录。
-L
使用时使用面向行的输出进行单次搜索
-num pattern option。
-2 ".*"
转到输入字段num(此处从0开始的字段2)并查找
模式(这里为.*
)。您可以在cscope的屏幕模式下查看输入字段。这可能会因您使用的版本而异。 debian版本15.8a的字段是: