主要内容

代码兼容性分析器

确定并解决与当前版本的 MATLAB 的兼容性问题

自 R2022a 起

说明

代码兼容性分析器生成一份报告,其中包含语法错误、代码不兼容问题以及可能改进选定文件夹及其子文件夹中的代码的新功能。

使用此 App,您可以:

  • 标识兼容性问题。

  • 遵循建议的操作来改进代码。

由 MATLAB® 代码分析器执行的所有检查的列表,包括兼容性问题检查,在此处提供:Index of Code Analyzer Checks

打开 代码兼容性分析器 App

  • MATLAB 工具条:在 App 选项卡上的 MATLAB 下,点击该 App 图标:Code Compatibility Analyzer app icon

  • MATLAB 命令提示符:输入 codeCompatibilityAnalyzer

示例

全部展开

打开代码兼容性分析器

codeCompatibilityAnalyzer

此命令启动代码兼容性分析器,针对指定的代码就发现的兼容性问题生成报告。报告顶部的摘要部分概述报告中包含的信息。此部分显示分析了多少个文件,以及在分析的代码中发现的错误、警告和信息性消息的总数。

Code Compatibility Analyzer app

代码兼容性分析器生成信息来帮助您将代码升级到 MATLAB 的最新版本。它包含以下问题类型。

  • 语法错误 - 该表包含语法错误详细信息。语法错误会导致代码无法运行,虽然它们不是新版本的 MATLAB 引入的,但语法错误会影响兼容性分析。

  • 已经删除的功能 - 该表包含关于被分析的代码中还在使用但实际已删除的功能的详细信息。例如:'wavfinfo' has been removed.Use 'audioinfo' instead.

  • 行为已经改变的功能 - 该表包含关于被分析的代码中还在使用但其行为已更改的功能的详细信息。例如,'legend' 已更改,可能会将参量的名称解释为图例属性而不是标签。要包含与图例属性同名的标签,请使用元胞数组或字符串数组指定标签。请参阅相关文档查看受影响的属性名称列表。

  • 可能导致错误的不受支持的功能 - 该表包含不受支持、尚未公开和不打算使用的功能的详细信息。请更新您的代码以使用公开的功能,因为不支持的功能可能导致错误和意外的行为变化。例如,'awtinvoke' 不受支持,并且可能已更改或删除而未另行通知。请对代码进行相应更改后改用 javaMethodEDT。

  • 将要删除的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中删除的功能的详细信息。例如:'aviinfo' will be removed in a future release.Use 'VideoReader' instead.

  • 行为将要改变的功能 - 该表包含被分析的代码中还在使用但将在以后的版本中更改行为的功能的详细信息。例如,'interp1(...,'cubic')' 在以后的版本中将更改为执行三次卷积。要继续使用保形分段三次插值,请改用 'interp1(...,'pchip')'。

  • 可能改进代码的新功能 - 该表包含关于新功能的详细信息。请考虑更新您的代码。预计当前代码将在以后的版本中继续正常运行,但推荐使用更新功能。例如:Programmatic use of DISPLAY is not recommended.Use DISP or FPRINTF instead.

默认情况下,问题按问题类型分组。您可以使用分组依据列表来更改问题的分组方式。按文件对报告进行分组。

Code Compatibility Analyzer report grouped by file.

您可以使用按严重性过滤按问题类型过滤列表来过滤显示的消息。对报告进行过滤以仅显示错误。

Code Compatibility Analyzer report filtered by severity

相关示例

版本历史记录

在 R2022a 中推出

全部展开