【速来围观】IAR环境下代码覆盖率功能的使用

0?wx_fmt=gif

在设计测试程序,验证是否所有的代码都被执行到时,就要考虑到代码覆盖率,IAR环境下的代码覆盖率是一个在这方面很有用的功能,且使用方便,今天我们就来讲讲这一功能如何使用

代码覆盖率

当设计测试程序验证是不是多有的代码可以被执行,代码覆盖率是非常有用的功能,并且可以帮你识别不可到达的代码。在IAR环境下,代码覆盖率窗口可以记录报告当前代码的覆盖分析,该分析可以显示出自代码覆盖率功能打开到应用程序停止的地方,每一个模块,代码,函数执行的百分比,另外还会列出所有未被执行的代码表达式。需要注意的一点是在仿真的时候,单步执行时不会记录收集代码覆盖信息。在IAR环境仿真模式下,通过view菜单可以打开代码覆盖率窗口,如下图所示

0?wx_fmt=jpeg

如何使用代码覆盖率功能

在工程中如果要使用代码覆盖率功能,必须配置一些选项,以飞思卡尔SDK1.2版的定时器demo工程为例,如果是默认安装路径,可以参考如下路径代开工程

C:\Freescale\KSDK_1.2.0\examples\twrkv46f150m\driver_examples\pit\iar

例程已经默认配置了可以使用代码覆盖率功能,如果是自己的工程要使用代码覆盖率,必须保证如下的配置正确

0?wx_fmt=jpeg

必须保证C/C++配置选项中的Generate debug information 选项勾选上。

0?wx_fmt=jpeg

必须保证连接器配置选项中的Include debug information in output 选项勾选上0?wx_fmt=jpeg

必须保证调试器配置选项中的code coverage插件勾选上

0?wx_fmt=jpeg

配置正确后,正确编译完程序后,仿真,并打开代码覆盖率窗口,点击0?wx_fmt=jpeg

激活按钮,或者在代码覆盖率窗口空白处单击右键激活如下图所示

0?wx_fmt=jpeg

运行程序,当程序停止,或者由于断点触发停止,单击刷新按钮,可以观察代码覆盖率信息,例如下图所示:

0?wx_fmt=jpeg

代码覆盖率窗口左侧的红色钻石图标表示,函数或者模块已经被执行了0%,而绿色钻石图标表示,模块或者函数已经被执行的100%,红绿相间的钻石图标表示模块或函数部分已被执行,黄色的钻石图标表示还没有被执行的代码表达式,每一行末尾的百分数表示到程序运行目前运行的地方,已经覆盖到的语句数量。计算方法为已经执行的代码语句数除以总的代码语句数。在代码覆盖率窗口空白处单击右键选择另存为,代码覆盖率的分析结果还可以保存为txt的文本格式文件,如下图所示。

0?wx_fmt=jpeg

0?wx_fmt=jpeg

可以方便的保存代码覆盖率信息,留作他用,或者调试用,由此可见代码覆盖率确实非常有用。

嵌入式

程序猿

微信号:InterruptISR

嵌入式程序猿致力于打造程序猿工程师交流分享的精品移动平台,欢迎各位猿友加入和分享。微信搜索嵌入式程序猿添加关注,或者长按下方二维码,选择识别图中二维码添加关注。

0?wx_fmt=jpeg

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值