前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【速来围观】IAR环境下代码覆盖率功能的使用

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

作者头像
用户1605515
发布2018-04-10 11:31:45
1.6K0
发布2018-04-10 11:31:45
举报
文章被收录于专栏:嵌入式程序猿
在设计测试程序,验证是否所有的代码都被执行到时,就要考虑到代码覆盖率,IAR环境下的代码覆盖率是一个在这方面很有用的功能,且使用方便,今天我们就来讲讲这一功能如何使用

代码覆盖率

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

如何使用代码覆盖率功能

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档