我想在C ++中提取一个项目方式的函数调用图,用于静态分析(不需要图形可视化)。我尝试使用 doxygen ,它使用 graphviz 来提取.dot文件,这些文件在文档中以可视方式导出。
这里的问题是,输出包含许多 .dot文件,每个函数一个,但我需要计算整个网络的全局.dot文件代替。
我已经搜索了可以在一个文件中合并不同.dot文件的工具,并且我找到了 gvpack ,但是此工具似乎无法关联中定义的函数不同的图形(例如,如果我有两个函数doOperation()
和doAnotherOperation()
都调用logOperation()
,生成的.dot文件包含两个logOperation()
个节点而不是一个节点。< / p>
我可以使用什么工具?我唯一的要求是.dot兼容性,因为我在python中有另一个模块从点文件导入图形(使用 networkx 库)。