首页 > 代码库 > SylixOS 调试方法详解——静态代码分析

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

1. SylixOS调试方法介绍

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

2. SylixOS调试步骤详解

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

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

技术分享

21  编译结果

 

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

技术分享

22  操作步骤

 

运行结果如 23所示,第1114行分别显示数组越界和野指针错误。

技术分享

23  静态代码分析结果

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

24  清除错误提示信息

 

3. 总结

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

4. 参考资料

SylixOS应用程序开发手册》

RealEvo-IDE使用手册》

 

 

 


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