SylixOS 调试方法详解(二)——SylixOS 代码覆盖率检查

1. SylixOS调试方法介绍

SylixOS 实现了一个功能强大的调试 stub,可在设备或模拟器上在线调试应用程序,RealEvo-IDE 也提供配套的调试插件。目前 RealEvo-IDE 既支持自动推送调试、也支持传统的手动启动 gdbserver 的调试方式。在官方公布的使用手册中没有详细写出在平常开发中很是实用的几种调试方式,咱们经过新建几个app工程来作相应的演示,主要有代码静态分析、代码覆盖率检查、性能分析以及一个实战案列的演示,本文主要介绍代码覆盖率检查调试。架构

2. SylixOS调试步骤详解

代码覆盖率检查主要用来防止出现多余代码,经过创建一个“coverage_check_app”来作代码覆盖率检查的演示,程序清单如程序清单 2‑1所示。app

程序清单 2‑1  static_check_app清单工具

#include <stdio.h>性能

void test()测试

{优化

   printf("Hello SylixOS!\n");spa

}插件

 

int main (int argc, char **argv)调试

{server

    printf("Hello SylixOS!\n");

 

    return  (0);

}

 

 

       所用demo程序编译未报错,可成功上传,程序编译结果如图 2‑1所示,在编译过程当中也不会发现任何错误,但代码自己存在冗余现象。一般代码量比较小的状况下,能够经过人工排查的方式减小该现象,从而提升代码质量,可是在代码量比较大,代码编写人员较多时,就没法避免这种情况,这样会对项目周期、项目质量形成比较大的影响,也会增长测试人员的工做量。这些都不利于项目开发和工做效率的提升。

    

图 2‑1  编译结果

这种状况下能够经过RealEvo-IDE中自带的代码覆盖率检查工具解决这一类开发难题。

编译上传以后打开RealEvo-Simulator,打开对应的架构平台,运行demo程序,如图 2‑2所示。

图 2‑2 运行coverage_check_app

 

选中须要调试的工程,这里选择“coverage_check_app”工程,右击工程选择“Properties”,点击“SylixOS Project”,选择“Compiler Setting ”     ,勾选“Enable govc(Code coverage analysis)”,如图 2‑3所示。

图 2‑3  设置调试工具

       选中须要调试的工程,这里选择“coverage_check_app”工程,右击工程选择“SylixOS Coverage Analysis”,点击“Get Coverage Rate File”,操做如图 2‑4所示。

图 2‑4  操做步骤

 

 

 

  成功抓取文件,如图 2‑5所示。

图 2‑5  抓取成功

 

若不运行程序,则没法成功抓取文件,如图 2‑6所示。

图 2‑6  抓取不成功

 

抓取完成后,选中须要调试的工程,这里选择“coverage_check_app”工程,右击工程选择“SylixOS Coverage Analysis”,点击“Show Coverage Rate”,如图 2‑7所示。

图 2‑7  进行覆盖率分析

 

运行结果如图 2‑8所示,代码存在同于现象,能够经过分析代码进行优化,减小这种状况,提升代码质量。

图 2‑8 冗余检查

 

3. 总结

在SylixOS中可使用多种调试方式进行相关调试,根据实际状况对程序进行调试,本节主要介绍代码覆盖率检查的具体调试方式,下一节将详细介绍性能分析调试。

4. 参考资料

《SylixOS应用程序开发手册》

《RealEvo-IDE使用手册》

相关文章
相关标签/搜索