主要内容

依赖分析仪范围和局限性

分析范围

依赖分析仪标识所需的文件和插件为您的项目或模型。分析涵盖了广泛的依赖关系,包括模型引用、子系统引用链接库,MATLAB®C / c++代码,Stateflow®图表、数据文件、S-functions,需求文档。

当依赖分析仪遇到MATLAB代码,如在一个模型或块调,或在一个。m文件功能,它试图确定它引用的文件。有关更多信息,请参见分析的局限性

MATLAB根文件夹下的文件,所需的依赖分析器只显示产品。s manbetx 845它不依赖关系分析。

依赖分析仪确定内部定义的插件的依赖和依赖关系,介绍了由代码生成或MATLAB代码模型参数。这些选项是默认关闭的,因为他们可以耗费时间对于大型设计。

指定的范围分析,依赖分析仪将来发布,点击分析并选择一个或多个下列选项:

选项 默认的 描述
C / c++代码 分析依赖了C / c++代码文件。
附加组件 分析内部附加组件的依赖关系。
模型参数 分析在模型引入MATLAB代码块参数的依赖关系。
生成的代码的可追溯性 从模型分析生成依赖项引入的代码。

分析的局限性

  • 依赖分析仪限制特定的MATLAB代码分析:

    • 依赖分析仪只能识别函数输入参数向量文字字符或字符串时:

      负载(“mydatafile”)加载mydatafile

      如果您定义一个文件名称作为变量并将其传递给一个函数,依赖分析仪无法识别依赖关系。在接下来的例子中,由于代码不执行,依赖分析仪没有价值的str。分析仪的依赖性可能报告缺失的依赖关系。

      str =“mydatafile”;负载(str);
      这种限制扩展到功能类似负载,如打开外部文件,xlsread,importdata,dlmread,eval,或imread

    • 依赖自动分析器并不总是确定类型。取决于你的方式调用对象方法,依赖分析仪可能混淆的方法与功能和报告缺失的依赖关系。

      在MATLAB中,您可以调用对象的方法在两种不同的方式。例如,对于一个对象p,您可以调用该方法addFile使用函数符号:

      p = currentProject;addFile (p,“myfile”);
      或通过使用点符号:
      p = currentProject;p.addFile (“myfile”);
      如果你不声明的类型p明确,依赖分析器可能会混淆一个方法调用,使用一个函数符号函数调用。分析报告addFile作为一个失踪的依赖。

      为了解决这个限制,使用点符号来调用一个方法或使用参数显式地声明函数中的变量类型:

      函数myfunction (p)参数pmatlab.project.Project结束addFile (p,“myfile”);结束

    • 依赖分析仪不报告一个依赖一个引用的类使用一个方法调用。

  • 在分析一个文件时,依赖分析仪不考虑它的上下文。当一个文件一个调用一个文件B,依赖分析仪不知道数据中使用B但中定义一个。依赖项分析报告这些数据为失踪的文件。为了解决这个限制,通过这个数据显式地使用函数输入参数。

    例如,当你分析仿真软件万博1manbetx®子系统中引用的模型链接到一个数据字典和子系统使用枚举中定义数据字典,分析不能访问枚举和报告这些数据为失踪的文件。

  • 依赖分析仪可能不会报告某些blocksets所需的一个模型。

    依赖分析仪无法检测blocksets不引入任何文件的依赖关系,如定点设计师™。

    包括依赖关系分析不能检测,介绍了依赖的文件添加到您的项目。从您的模型,创建一个项目从模型中创建一个项目

  • 分析仪的依赖性可能不检测所需的支持包。万博1manbetx它列出了所需的附加组件,包括应用程序和工具箱。

  • 依赖分析仪可能不会报告依赖蒙面的动态内容块。

    基于蒙面块的参数,动态面具可以修改蒙面子系统,并改变块的依赖关系。如果在图书馆动态面具,依赖分析仪无法检测的动态变化。

  • 依赖分析仪不支持模型函数调用MATLAB函数块。万博1manbetx万博1manbetx

  • 一些MathWorks®s manbetx 845产品和附件共享代码和模型库。万博1manbetx分析仪的依赖性可能报告依赖他们。

    调查使用共享代码,属性面板,s manbetx 845节中,指向下一个产品共享之间的功能:并点击搜索文件夹图标

  • 依赖分析仪分析项目代码没有评估其内容,因此:

    • 依赖分析仪不添加全局变量在函数执行。

    • 依赖分析仪分析代码的逻辑语句内,即使它不执行。在以下示例中,代码不是执行,而是依赖分析仪报告失踪的依赖模型。万博1manbetx

      如果假load_system (vdp)结束

相关的话题