TLC代码覆盖率来帮助调试
tlcdebug
执行教程概述
摘要目的:学习使用薄层色谱在TLC代码覆盖率统计数据来帮助识别错误。
文件夹:
(开放)matlabroot
/工具箱/ rtw / rtwdemos / tlctutorial / tlcdebug
本教程教你如何确定TLC代码是否按预期执行。这里使用相同的模型和前面的教程。当你专注于理解的控制流在处理薄层色谱文件,不需要编译和执行一个独立的模型,只看代码。本教程收益如下:
开始——为什么和如何分析TLC覆盖
打开模型和生成代码——阅读日志文件覆盖
开始
的代码生成>调试面板提供了选项开始TLC覆盖在生成代码。选择它的结果在一个清单文件中的每一行多少次你TLC在代码生成源文件被执行死刑。清单,
(的名字
. log
被分析的薄层色谱文件的文件名),放置在你的建立文件夹。的名字
请注意
每一个日志文件.tlc
生成文件调用或包含在构建文件夹。专注于timesN.log
。
打开模型和生成代码
复制文件夹
tlctutorial tlcdebug /
你的工作目录cd
到它。即使你已经复制它吗可以肯定的是,你的版本timesN.tlc
有错误。在MATLAB®命令窗口,创建一个MEX-file s函数。
墨西哥人timesN.c
这避免了拿起版本附带您的模型金宝app®软件。
打开模型
simple_log
。在代码生成面板的配置参数对话框,检查只生成代码。
在代码生成>调试面板的配置参数对话框中,选择开始TLC覆盖在生成代码。(不要选择开始TLC调试器在生成代码。调用调试器是不必要的。)点击应用。
新闻Ctrl + B。通常的消息出现在MATLAB命令窗口,并构建文件夹(
simple_log_grt_rtw
你的工作文件夹中创建)。进入建立文件夹。找到文件
timesN.log
,并将其复制到你的工作目录,重命名它timesN_ilp.log
防止它被覆盖。打开日志文件
timesN_ilp.log
在你的编辑器。它看起来就像timesN.tlc
后跟一个冒号,除了在每一行的开始。这个数字代表的次数TLC执行生成代码。的代码输出()
应该是这样的:0:% %功能:输出= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 0:% % 1:%函数输出(块,系统)输出1:%分配收益= SFcnParamSettings。myGain 1: / * % <类型>块:% <名称> * / 0:% % 1:/ *输入乘以% <增加> * / 1:%分配rollVars = (“U”、“Y”) 1: %辊idx = RollRegions lcv = RollThreshold,块,“滚”,rollVars 1: % < LibBlockOutputSignal(0”“液位控制阀,idx) > = \ 1: % < LibBlockInputSignal(0”“液位控制阀,idx) > * 1;0:% endroll 1: 0: % endfunction
注意到评论没有执行。TLC声明,这意味着它们输出生成的C代码尽可能多倍前缀的行数。
更改代码生成选项会导致潜在问题生成的源代码。系统地改变选项和观察结果的差异TLC覆盖率可以促进的过程发现错误的代码。