当我们编写这么多相互关联的m文件时,很难跟踪(甚至编码器本人!)哪个m文件调用哪个m文件.
如果有一个程序可以生成一个易于查看的m文件之间关系的可视化,那将非常方便.
有这样的事吗?
最佳答案 如果你只想要一个给定文件的依赖列表,那么有几个这样做.
> matlab.codetools.requiredfilesandproducts
– 用于确定代码依赖关系的静态代码分析器.它将结果分解为不同类型的依赖项(内置函数,自定义函数,mex文件等).这取代了depfun
.
> Interactive Dependency Report – 这为静态依赖性分析器提供了交互式前端.它可以对整个文件夹或单个文件运行依赖性检查.
> The Built-in Profiler – 如果您不想要静态代码分析器,而是关心在执行给定函数时实际调用哪些文件,则可以使用内置分析器来检查它,特别是FunctionHistory
输出字段.
就个人而言,我发现内置工具非常有限而且速度慢.文件交换具有许多用于确定和绘制依赖关系的奇妙条目.以下是我个人经历过的一些经历:
> FDEP – 用于确定依赖关系的非常快速和全面的工具.它甚至被称为Pick of the Week.此工具提供了您可以使用的数据结构,或者您可以使用GUI来浏览您的依赖项.我们在所有测试中都使用它来确保项目中包含所有依赖项.
> GraphVis-like tools for MATLAB – 分析您的代码并为GraphViz生成输入文件,然后可以使用该文件生成依赖关系树.我个人用它来理解我继承的巨大项目.
> M2HTML – 这是一个旧的,但它运作良好.它解析您的所有代码并生成一个包含源代码,文档和依赖树的交互式网站.另一个巨大的好处是所有页面都是交互式的,允许您通过超链接浏览源代码.