SylixOS 调试方法详解——静态代码分析

1. SylixOS调试方法介绍

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

2. SylixOS调试步骤详解

    代码静态分析主要用来检查野指针、数组越界等问题,我们建立一个static_check_app,用来做代码静态分析的演示,程序清单如程序清单 21所示。

程序清单2-1  static_check_app清单

#include<stdio.h>

intmain (intargc, char **argv)

{

       charcBuf[10];

       char *pTemp;

       int   i;

     for (i=0; i<=10; i++)

     {

            cBuf[i] = 0;

     }

     printf("out put %s\n", pTemp);

     return   (0);

}

 

 

      所用demo程序编译未报错,可成功上传,程序编译结果如图 2-1所示,开发人员在开发过程中经常会出现这类问题,当代码量较大时,人工核查工作量太大,准确率也没法得到保障。在编译过程中也不会发现这些错误,而这些错误会大大降低代码质量和安全,我们通过代码静态分析可以有效规避这些问题。

           wKioL1loL-jRG5KEAACdpPUBDpo431.png

图 2-1  编译结果

 

   选中需要调试的工程,这里选择“static_check_app”工程,右击工程选择“SylixOS Code StaticAnalysis”,点击“Run CodeStatic Analysis”, 或者使用快捷键“Ctrl+Shift+C”,操作如图 2-2所示。

           wKioL1loL9rxH6QtAAILzZeSu1E464.png

图 2-2  操作步骤

 

    运行结果如图 2-3所示,第11和14行分别显示数组越界和野指针错误。

wKiom1loL_2BMlo5AAKF_BIuV_A108.png

图 2-3  静态代码分析结果

检查完成后,选中需要调试的工程,这里选择“static_check_app”工程,右击工程选择“SylixOS Code Static Analysis”,点击“ClerMarks”,或者使用快捷键“Ctrl+Alt+M”,运行结果如图 24所示,第11和14行错误提示被清除了,为下次检查时提供新的材料模板。

wKioL1loMBiy7EOnAABvY_i9hQ8164.png

图 2-4  清除错误提示信息

 

3. 总结

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

4. 参考资料

《SylixOS应用程序开发手册》

《RealEvo-IDE使用手册》

转载于:https://my.oschina.net/u/3491369/blog/1377286

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值