主要内容

配置调试模型

在“配置参数”对话框中使用诊断窗格和调试参数来配置模型,以便为调试设置生成的代码和构建过程。您可以设置应用于模型编译阶段、目标语言代码生成阶段或两者的参数。

如果您正在编写TLC代码以定制目标、集成遗留代码或开发新块,那么下表中的参数将很有帮助。

…… 选择……
在MATLAB中显示代码生成过程中的进度信息®命令窗口

详细的构建编译器输出也会显示出来。

控件的生成过程禁止删除模型.rtw在生成结束时从生成文件夹中获取文件

保留.rtw文件如果您正在修改目标文件,则此参数非常有用,在这种情况下,您需要查看模型.rtw文件。

指示TLC分析器分析在代码生成过程中执行的TLC代码的性能并生成报告 剖面薄层色谱.这份报告是HTML格式的,可以在你的网页浏览器中阅读。
在代码生成期间启动TLC调试器 在生成代码时启动TLC调试器.或者,输入参数直流系统目标文件参数。代码生成窗格。要启动调试器并运行调试器脚本,请输入df文件名系统目标文件
生成一个包含统计数据的报告,该统计数据表明在代码生成期间,代码生成器读取每一行TLC代码的次数 在生成代码时开始TLC覆盖.或者,输入参数dg系统目标文件参数。代码生成窗格。
如果用户提供的TLC文件包含%断言求值为的指令

启用TLC断言.或者,您可以使用MATLAB命令来控制TLC断言处理。

要将标志设置为打开或关闭,请使用set_param命令。默认是关闭的。

set_param(model, 'TLCAssertion', 'on|off')

要检查当前设置,请使用get_param

get_param(模型、“TLCAssertion”)
检测可调性的损失

检测可调性的损失诊断>数据的有效性窗格。当表达式简化为数值表达式时,可以使用此参数报告可调性的丢失。如果可调工作区变量被掩码初始化代码修改,或者在带有不支持的运算符或函数的算术表达式中使用,就会发生这种情况。金宝app取值包括:

  • 没有一个-可调性的丢失可能在没有通知的情况下发生。

  • 警告-失去可调性产生一个警告(默认)。

  • 错误—失去可调性会产生错误。

有关支持的运算符和函数的列表金宝app,请参见可调表达式的限制

启用模型验证(断言)块

模型验证块启用.使用此参数可以启用或禁用模型验证块,例如Assert、Check Static Gap和相关的范围检查块。诊断应用于生成的代码和模拟行为。例如,当模型验证块位于s函数中时,模拟和代码生成会忽略此参数。取值包括:

  • 用户本地设置

  • 让所有

  • 禁用所有

对于未禁用的断言块,为模型生成的代码包含以下语句之一,具体取决于块输入信号类型(分别为布尔值、实数或整数)。

utAssert (input_signal);utAssert(input_signal != 0.0);utAssert(input_signal != 0);

默认情况下,utAssert不更改生成的代码。对于要中止执行的断言,必须通过指定以下参数来启用它们make_rtw命令代码生成>使命令参数:

make_rtw选择= " -DDOASSERTS "

如果你想要触发断言打印断言语句而不是中止执行,请使用以下变体:

make_rtw OPTS="- ddo断言- dprint_断言"

utAssert定义为#定义utAssert(exp)

的定义,以自定义断言行为utAssert在重写默认值的手写头文件中utAssert.h.有关如何在生成的代码中包含自定义头文件的详细信息,请参见使用模型配置参数集成外部代码

在加速模式下运行模型时,Simulink金宝app®引擎回调自身来执行断言块,而不是使用生成的代码。因此,当断言失败时,仍然调用用户定义的回调函数。

有关TLC调试选项的更多信息,请参见打开调试目标语言编译器.另外,考虑使用Model Advisor作为模型构建的故障排除工具。

相关的话题