SylixOS 调试方法详解——静态代码分析
来源:互联网 发布:优学派软件下载 编辑:程序博客网 时间:2024/06/02 00:28
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所示,第11和14行分别显示数组越界和野指针错误。
图 23 静态代码分析结果
检查完成后,选中需要调试的工程,这里选择“static_check_app”工程,右击工程选择“SylixOS Code Static Analysis”,点击“ClerMarks”,或者使用快捷键“Ctrl+Alt+M”,运行结果如图 24所示,第11和14行错误提示被清除了,为下次检查时提供新的材料模板。
图 24 清除错误提示信息
3. 总结
在SylixOS中我们可以使用多种调试方式进行相关调试,我们可以根据实际情况对程序进行调试,本节主要介绍代码静态检查的具体调试方式,下一节将详细介绍代码覆盖率分析调试。
4. 参考资料
《SylixOS应用程序开发手册》
《RealEvo-IDE使用手册》
- SylixOS 调试方法详解——静态代码分析
- SylixOS调试方法详解——综合案例分析
- SylixOS 调试方法详解(二)——SylixOS 代码覆盖率检查
- SylixOS调试方式详解——性能分析
- SylixOS串口调试详解
- SylixOS的RealEvo-IDE调试方法
- SylixOS调试与性能分析技术--内存泄漏检测
- 静态代码分析——字符串
- 静态代码分析——字符串
- 详解Androguard静态分析APK方法
- 【Android安全】Android静态分析调试定位关键代码
- java中静态代码块、静态方法、static关键字详解
- opensips/kamailio gdb代码调试方法详解
- opensips/kamailio gdb代码调试方法详解
- 走进SylixOS代码
- SylixOS Makefile分析
- SylixOS启动脚本分析
- SylixOS高精度时钟分析
- 部分和问题
- centOS 新增ELRepo,升级最新内核
- Download-centos7-repo
- Vijos 1464积木游戏
- 初期学到的一些java的知识(数组,数值,异常简单概念)
- SylixOS 调试方法详解——静态代码分析
- Struts2中自定义拦截器
- js bootstrap 设置滚动条滚动到最后
- Codeforces 831 C Jury Marks
- 字符串转换为整数,以及整数转换为字符串的函数
- Eclipse启动项目成功,IDEA报错java.lang.ClassNotFoundException: javax.servlet.Filter
- 观点|如何做好计算机视觉的研究?
- Eqs POJ
- C#NPOI读取Excel