我应该翻译为:在哪里可以找到好的开源代码流程可视化软件?

10

我正在从事一项关于Linux内核中一些非常长的函数的学术研究(链接链接)。

为了这项研究,我想使用一些代码流程可视化工具,该工具能够绘制一个图表,其中每个顶点都是决策点,每条边都是以连续方式运行的代码片段。

你知道是否有任何好的开源项目可以可视化C代码吗?

5个回答

10

也许像KCacheGrind这样的工具会有所帮助。它基于实际调用生成呼叫图,并且不能在不实际运行程序的情况下预先生成呼叫图,这可能不适合您的需求,但也可能适合。

KCacheGrind Call Graph


非常好,我会尝试的。 - Adam Matan

1

历史流非常适合在多个版本之间进行更改/差异。

Codeplex有一个项目,依赖关系可视化器也支持C语言。

Gprof2Dot可以呈现oprofile,这将为您提供动态信息。

CodeViz(静态工具)也可以使用。

如果您正在使用gcc,则gcc-xml还具有内省插件来执行此操作。


1

您似乎想获取C源代码的流程图(“决策”,“代码块”)。
类似于这个 C流程图

要正确地做到这一点,特别是对于Linux内核代码,我希望您首先预处理代码以摆脱宏和条件语句。我认为GCC会在内部构建这样的图表,您应该能够得到这个图表。


0

Doxygen进行了一定程度的'可视化',
但是您需要对代码进行一些处理才能使用。


另一个有趣的事情是检查lxr

Linux Cross Referencer是一个用于索引和展示源代码库的软件工具集。LXR最初针对Linux源代码,但已被证明可用于各种软件项目。lxr.linux.no目前正在运行LXR软件的实验分支。


0

我可以推荐Sourcetrail。它可以与compile_commands.json一起使用。虽然我不确定它是否仍在维护中,但它是自由开源软件,你可以fork它!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接