主要内容

配置调试模型

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

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

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

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

防止构建过程删除模型.rtw.生成结束时生成文件夹中的文件

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

指导TLC分析器分析代码生成过程中执行的TLC代码的性能并生成报告 剖面薄层色谱.该报告采用HTML格式,可以在Web浏览器中读取。
在代码生成期间启动TLC调试器 生成代码时启动TLC调试器.或者,输入参数-DC.对于系统目标文件的参数代码生成窗格。要启动调试器并运行调试器脚本,请输入df文件名系统目标文件
生成一个报告,其中包含统计数据,指示代码生成器在代码生成期间读取每一行TLC代码的次数 在生成代码时启动TLC覆盖.或者,输入参数-DG.对于系统目标文件的参数代码生成窗格。
如果用户提供的TLC文件包含%断言评估的指令

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

要打开或关闭标志,请使用set_param命令。默认为关闭。

set_param(模型、“TLCAssertion”、“|关闭”)

若要检查当前设置,请使用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 =“ -  ddoasserts -dprint_asserts”

utassert被定义为#定义utAssert (exp)断言(exp)

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

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

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

相关主题