主要内容

配置调试模型

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

如果您正在编写TLC代码以进行自定义目标,集成传统代码或开发新块,则下表中的参数将有用。

到... 选择...
在Matlab中的代码生成期间显示进度信息®命令窗口

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

防止构建过程删除模型.rtw.从构建末尾的构建文件夹中的文件

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

指示TLC分析器分析代码生成期间执行的TLC代码的性能并生成报告 简介TLC.。该报告采用HTML格式,可以在Web浏览器中读取。
在代码生成期间启动TLC调试器 生成代码时启动TLC调试器。或者,输入参数-DC.为了系统目标文件参数在代码生成窗格。要启动调试器并运行调试器脚本,请输入-df filename.为了系统目标文件
生成包含统计信息的报告,指示代码生成器在代码生成期间读取每行TLC代码的次数 生成代码时启动TLC覆盖范围。或者,输入参数-DG.为了系统目标文件参数在代码生成窗格。
如果用户提供的TLC文件包含一个版本,则会停止构建%断言评估的指令错误的

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

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

set_param(型号,'tlcassertion','Own')

检查当前设置,使用get_param.

get_param(型号,'tlcassertion')
检测可调性损失

检测可调性损失在这一点诊断>数据有效性窗格。当表达式减少到数字表达式时,您可以使用此参数报告可调性丢失。如果通过掩码初始化代码修改可调谐工作空间变量,或者在具有不受支持的运算符或函数的算术表达式中使用,则会发生这种情况。金宝app可能的值是:

  • 没有任何- 无需通知,可以发生可调性丢失。

  • 警告- 可调性丢失生成警告(默认)。

  • 错误- 可调性丢失产生错误。

有关支持的运营商和功能列表,金宝app请参阅可调表达限制

启用模型验证(断言)块

模型验证块启用。使用此参数可启用或禁用模型验证块,例如断言,检查静态间隙和相关范围检查块。诊断适用于生成的代码和仿真行为。例如,当模型验证块在S函数内时,仿真和代码生成忽略此参数。可能的值是:

  • 用户本地设置

  • 启用所有

  • 禁用所有

对于未禁用的断言块,模型的生成代码包括以下语句之一,具体取决于块输入信号类型(分别为Boolean,Real或Integer)。

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

默认情况下,Utassert.不会更改生成的代码。对于中止执行的断言,您必须通过指定以下方式启用它们make_rtw.命令代码>制作命令范围:

make_rtw opts =“ -  ddoasserts”

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

make_rtw opts =“ -  ddoasserts -dprint_asserts”

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

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

在Accelerator模式下运行模型时,Simulink金宝app®引擎呼叫返回自身以执行断言块而不是使用生成的代码。因此,当断言失败时仍称为用户定义的回调。

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

相关话题