Advertisement

Sourcetrail C++ 项目使用注意事项

阅读量:

Sourcetrail 是一个高效的源代码分析工具,特别适合程序员在编写和调试 C++ 项目时使用。它能够快速查找符号及其引用关系,并通过箭头图展示代码结构,极大提升工作效率。基本原理包括生成 compile_commands.json 文件以记录编译指令,并解析相关源文件创建索引信息。使用时需注意以下几点:项目设置中需手动指定头文件路径;某些 Visual Studio 特有编译参数可能不支持;若启用了合并编译,则标记为 ExcludeFromBuild 的文件不会被索引。

Sourcetrail C++ 项目使用注意事项

Sourcetrail 是一款卓越的开源代码导航工具,在众多同类产品中独树一帜。它凭借其强大的功能和灵活的操作方式赢得了众多开发者的心仪。其中一些知名的选择包括 Sourcetrail 等等

软件截图

Why

程序员有大半的工作时间都是在阅读分析代码。

有时会觉得要在一个文档中多次搜索同一个符号名称是一件非常繁琐的事,
总是要花费很多时间耐心等待着漫长的查询过程。
有时候在逐层排查一个符号的引用关系时,
虽然大致知道其大致位置,
但发现这个调用链有问题后,
还得从头再来一次。

有了 Sourcetrail,这些再也不成问题。

全面标记每个符号及其引用关系。
马上呈现该名字的所有出现位置。
被该符号所引用的其他符号及其连接关系将被清晰列出并以图表形式呈现。

从此你就可以像个小精灵真*程序猿)一样,在这些箭头组成的代码的藤蔓间穿梭其中

基本原理

生成 compile_commands.json
这个文件记录了你所有 C++ 文件的编译指令

复制代码
* cmake 项目
复制代码
    cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1

除CMake外,例如Visual Studio等主流开发环境也均提供官方插件支持,其他主流IDE也同样提供官方插件支持。

非CMake项目中,例如Visual Studio等主流开发环境均提供官方插件支持,其他主流IDE也同样提供官方插件支持。

基于编译命令列表, 对所有索引相关的C++源文件进行分析和处理, 提取相关信息并存储于本地数据库中, 并构建全文索引信息.

根据查询需求,展示所有相关信息。

注意事项

  • 因为编译指令不在 compile_commands.json 中, 所有依赖索引操作的目标头文件或包含这些头文件的目录都需要在项目设置中进行手动配置。
    幸运的是该程序能够递归搜索所有子目录, 因此只需配置根目录即可完成基本操作。
    当然也可以根据个人需求, 在必要时逐步添加一些特定的子目录到配置列表中。
    然而随着项目的复杂度增加和包含文件数量的增长, 后续处理速度可能会相应降低。

  • 该静态链接 clang 的相关库作为其索引器。
    这些Visual Studio特有的以斜杠开头的编译参数不被支持。
    这些不被支持的参数不会影响索引结果。
    因此可以通过手动删除来处理这些问题。
    增加额外的编译选项-driver=cl无效。

如果项目启用了合并编译,则部分源文件会被设置为ExcludeFromBuild状态,在编译命令中不再包含这些文件内容,在索引系统中也不会被包含进去。建议采取相应措施将这些文件转换回原始版本以便继续处理。

全部评论 (0)

还没有任何评论哟~