Main Content

查看诊断

您可以使用诊断查看器查看和诊断由您的模型生成的错误和警告。诊断查看器显示三种类型的诊断消息:错误、警告和信息。模型在运行时操作(例如,模型加载、仿真或更新图等)过程中生成这些消息。

您可以将诊断查看器停靠在某个模型上,以查看特定于该模型的诊断,也可以使用独立的诊断查看器来查看所有模型的诊断。

要将诊断查看器停靠到模型,请转至调试 > 诊断 > 停靠的诊断查看器或转至建模 > 环境 > Simulink 预设项 > 编辑器 > 使用停靠的诊断查看器

注意

停靠诊断查看器是一项系统范围的操作。您无法按模型更改预设项。

诊断查看器窗口分为以下几部分:

  • 工具栏菜单:显示各种命令,以帮助您管理诊断消息。有关详细信息,请参阅工具栏

  • 诊断消息窗格:显示错误、警告和信息消息。有关详细信息,请参阅诊断消息窗格

  • 建议的操作:显示建议和修复程序,以更正诊断错误和警告。有关详细信息,请参阅建议的操作

工具栏

要管理诊断消息,请使用诊断查看器工具栏。

菜单操作

查看所有错误消息

查看所有警告消息

查看所有信息消息

在消息中搜索特定关键字以及在消息之间导航

时间和事件出现在此下拉列表中。您可以通过点击事件来查看特定于该事件的诊断消息。

报告

您可以:

  • 展开或折叠消息

  • 将所有消息或最新消息保存到日志文件中

  • 复制所有消息或最新消息

注意

您可以右键点击消息内的任意位置,以保存或复制特定于该事件的消息。

设置

分组合并类似警告。设置要在选项卡式窗格中显示的最大模型数以及每个模型显示的最大事件数

诊断消息窗格

诊断消息窗格以选项卡形式显示错误、警告和信息消息。这些消息是分层的,并通过颜色编码加以区分。

系统会为每个后续事件生成一个新阶段,您可以保存或清除阶段。每个阶段代表一个事件,如模型加载、更新图或仿真等。

不同类型的诊断消息包括:

  • 信息消息:显示与模型加载有关的信息。信息消息标记为

  • 高优先级警告:模型加载期间遇到的错误显示为高优先级警告。在未更正高优先级警告消息的情况下的任何后续操作(例如更新模型)都标记为错误。高优先级警告标记为

  • 警告:显示在模型上执行操作期间出现的相关警告。警告标记为

  • 错误:显示在模型上执行操作期间出现的相关错误。错误标记为

    提示

    要找出错误的来源,请点击消息中的超链接。错误来源中的模型将突出显示。

追踪诊断位置

诊断查看器可以追踪错误的位置,以便您轻松调查模型中的错误。如果错误所在的文件被另一个文件所调用,诊断结果将显示为可展开的层叠结构。您可以根据需要展开或折叠该层叠结构。展开该层叠结构会显示有关错误或警告所在文件和行的信息。您可以点击任一链接转到错误或警告所在的位置。当在 MATLAB® 中使用 sim 命令时,在启用了堆栈跟踪的情况下也会看到相同的诊断消息。

注意

追踪错误的确切位置不适用于受保护的文件。

标识来自自定义编译器的诊断

诊断查看器可以识别来自自定义编译器生成的编译的错误和警告。您可以使用以下指令指定特定于编译器的模式:

% Here tool is the buildtool obtained from the toolchain
tool.setDirective ('WarningPattern','warning #(\d+):'); %Specifies warning patterns
tool.setDirective ('ErrorPattern','error:'); %Specifies error pattern
tool.setDirective ('FileNamePattern','[^\s]*\w+\.(c|h)'); %Specifies file name pattern
tool.setDirective ('LineNumberPattern','\(\d+\)'); %Specifies line number pattern

有关创建 ToolchainInfo 对象的详细信息,请参阅Register Custom Toolchain and Build Executable (Simulink Coder)

隐藏诊断

使用隐藏管理器,可为模型中的特定对象隐藏某些数值诊断(例如,溢出、饱和、精度损失)。您还可以隐藏诊断级别设置为“错误”(在“模型配置参数”的诊断部分中设置)的某些错误。您可以为隐藏的诊断添加注释。

要隐藏来自指定源的诊断,请在诊断查看器中点击隐藏。向隐藏的诊断添加适当的注释。

要查看隐藏的诊断,请在调试选项卡上,点击诊断 > 隐藏诊断管理器。要还原隐藏的诊断,请选择还原。诊断的隐藏设置与模型一起保存,并应用于所有会话。

隐藏管理器以表形式显示诊断的模型名称、隐藏位置和注释。使用操作菜单,您可以添加和编辑注释、隐藏诊断或将诊断从模块级别移至子系统级别(添加到父级)。

有关详细信息,请参阅 Suppress Diagnostic Messages Programmatically

建议的操作

诊断查看器为诊断错误和警告消息提供建议和修复程序。这些建议和修复程序显示在诊断消息窗格的建议的操作部分。

一个诊断错误或警告可能有多个修复程序和建议。每个修复程序有一个关联的修复按钮。

您可以点击最合适的修复程序的修复按钮,自动更正该错误。在某些情况下,您可以通过以下方式之一提供修复:

  • 在可用的编辑框中输入值。

  • 从组合框中列出的值中选择值。

成功应用修复程序之后,诊断错误或警告的修复按钮将不再可用。如果修复程序不成功,建议的操作部分将显示失败消息。

对于无法自动修复的错误和警告,会提出建议。

注意

只有存在预定义的修复程序的诊断错误或警告,建议的操作部分才可用。

相关主题