2013-12-08 50 views
5

随着铛和graphviz我可以生成一些C/C++代码as explained in this answer调用图。如何使用clang或其他工具生成数据流图?

现在我需要一个在一个非常大的代码库(大部分是C)上计算的数据流图,这个代码库是一个软件,其中cmake被用作构建工具。

所以我的问题是,给定一个数据结构的名称,我怎么可能检索函数的名称和使用/实现此结构的文件?

有一些稀疏的参考一些数据流挖掘算法里面Libtool从铛项目(甚至不知道它的东西,保持稳定或发展),但我没有发现任何关于clang本身或scan-build

我该如何生成这条信息?我真的需要这样做,鉴于我想检索代码中使用的名称,几乎所有我已经查看过的静态分析工具都关注函数和方法,我需要检查clang中的数据结构使用情况。

编辑:

,我也在考虑使用的doxygen的文档,所以如果的doxygen的XML输出可能是一些有用的工具,我可以用它。

+0

这可能有点古怪,但您是否考虑过将整个代码库加载到Eclipse中,然后使用Eclipse的搜索功能来完成它? – slugonamission

+0

@slugonamission很好,因为我找不到任何有用的东西......;命名我应该在Eclipse中使用什么工具,我知道CDT是用于C和C++的Eclipse套件,但我不知道用于这种分析的是什么。 – algl

+0

它不是真正用于数据流,但您的要求似乎是检查数据结构的使用位置。通过使用CDT + Eclipse,您至少可以以图形方式查找数据结构的使用位置(在某个搜索菜单中的某个位置),但不是完整的DFG。 – slugonamission

回答

-1

您可以查询

  • 所有引用的符号
  • 全局定义
  • 功能由一个函数调用
  • 函数调用一个函数
  • 文件,包括文件
  • 多。

cscope

+0

没有什么可视化的东西?由于这个项目真的很大,终端上的一个简单的文本列表很快就会变得非常复杂,以一种有用的方式进行管理;在该页面上也没有关于外部构建工具的文字,因为我的代码库的大小和构建过程,我需要这种合作。 – algl

+1

虽然这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 –

+0

作为@JohnDoyle,这个问题已被标记为仅作为链接删除。我建议你重新发布一个更全面的答案。 –

相关问题