这是gtags 5.7.1版本,与Ubuntu14.04一起打包的版本。--这是gtags的一个旧版本。
Linux内核有一个gtags Make目标,最终导致命令 all_target_sources | gtags -i -f -
-i告诉gtags执行增量更新-f告诉gtags从下面的文件读取源文件列表(以检查符号)。-f -的意思是从stdin中读取列表。all_target_sources是一个函数,它输出所有相关.c和.h文件的列表。当我运行make gtags时,生成的标记表是空的(GTAGS、GPATH等),它们的大小都是16个字节,似乎只是一个头。
如果我修改生成标记的脚本,使其使用以下内容:
all_target_sources > sources.list
gtags -iv -f sources.list我也得到了同样的结果。添加的-v为我提供了以下输出:
checking /home/me/sources/linux/GTAGS
GTAGS found at '/home/me/sources/linux/GTAGS'.
[Tue Jul 05 10:21:49 BST 2016] Gtags started.
Using default configuration.
Tag found in '/home/me/sources/linux'.
Incremental update.
[Tue Jul 05 10:21:49 BST 2016] Updating 'GTAGS'.
[Tue Jul 05 10:21:49 BST 2016] Updating 'GRTAGS'.
[Tue Jul 05 10:21:49 BST 2016] Updating 'GSYMS'.
Global databases have been modified.
[Tue Jul 05 10:21:49 BST 2016] Done.但是,当我从我的shell直接运行gtags -iv -f sources.list (使用脚本遗留的sources.list )时,我发现构建了一个合适的标记表。
我已经从脚本内部转储了环境,并将其与我的提示环境进行了区分,没有明显的差异会影响gtags。
有没有人知道会导致这种情况的任何gtags行为?
元对不起,没有gtags或gnu-global标记,我也没有创建它的代表。
发布于 2016-07-06 11:00:15
我还没有找到问题的根源,但是在从源代码安装最新版本的GNU Global之后,问题就消失了。因此,我得出结论,这可能是旧版本的gtags中的一个bug。
https://stackoverflow.com/questions/38199998
复制相似问题