首页 > 解决方案 > 是否有任何工具可以确定程序在运行时输入哪些功能?

问题描述

我需要一些工具来找出在某个配置和输入中执行代码的哪些功能;有一些代码分析工具,但它们显示了代码的所有功能流程。

标签: ccode-analysis

解决方案


根据您的问题,我不完全确定您需要分析的具体程度。我插入了一些链接,可以帮助您进行搜索。

一般来说,你可以很容易地生成所谓的函数调用图,这是一个函数调用哪个的图。

静态分析工具通常可以做到这一点。我使用 Eli Bendersky 的pycparser为 C 代码生成调用图。静态分析只能考虑可以静态推断的内容,即不运行代码。

如果您需要更高的精度并且只想要特定配置+输入的结果程序流,我建议您使用动态分析工具,它通过运行代码来执行分析。一个这样的工具是valgrind 的 callgrind这里有一个可能有用的教程。


推荐阅读