生成MATLAB m文件依赖关系树

时间:2016-04-14 21:04:13

标签: matlab

当我们写了很多相互关联的m文件时,很难跟踪(甚至编码器本人!)哪个m文件调用哪个m文件。

如果有一个程序可以生成一个易于查看的m文件之间关系的可视化,那将非常方便。

有没有这样的事情?

1 个答案:

答案 0 :(得分:2)

如果您只想要一个给定文件的依赖列表,那么有几个built-in ways这样做。

  • matlab.codetools.requiredfilesandproducts - 用于确定代码依赖关系的静态代码分析器。它将结果分解为依赖项的不同类型(内置函数,自定义函数,mex文件等)。这取代了depfun

  • Interactive Dependency Report - 这为静态依赖性分析器提供了一个交互式前端。它可以对整个文件夹或单个文件运行依赖性检查。

  • The Built-in Profiler - 如果您不想要静态代码分析器,而是在执行给定函数时关心实际调用哪些文件,则可以使用构建的-in profiler来检查它,特别是FunctionHistory输出字段。

就个人而言,我发现内置工具非常有限且速度很慢。文件交换具有许多用于确定和绘制依赖关系的精彩条目。以下是我个人经历过的一些事情:

  • FDEP - 用于确定依赖关系的非常快速和全面的工具。它甚至被称为Pick of the Week。此工具提供您可以使用的数据结构,或者您可以使用GUI浏览依赖项。我们在所有测试中都使用它来确保项目中包含所有依赖项。

  • GraphVis-like tools for MATLAB - 分析您的代码并为GraphViz生成一个输入文件,然后可以使用该文件生成依赖关系树。我个人用它来理解我继承的巨大的项目。

  • M2HTML - 这是一个旧的,但效果很好。它解析您的所有代码并生成一个包含源代码,文档和依赖树的交互式网站。另一个巨大的好处是所有页面都是交互式的,允许您通过超链接浏览源代码。