千家信息网

SylixOS调试方法详解——性能分析

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,1. SylixOS调试方法介绍SylixOS实现了一个功能强大的调试stub(桩),可在设备或模拟器上在线调试应用程序,RealEvo-IDE也提供配套的调试插件。目前RealEvo-IDE既支持自
千家信息网最后更新 2026年11月04日SylixOS调试方法详解——性能分析

1. SylixOS调试方法介绍

SylixOS实现了一个功能强大的调试stub(桩),可在设备或模拟器上在线调试应用程序,RealEvo-IDE也提供配套的调试插件。目前RealEvo-IDE既支持自动推送调试、也支持传统的手动启动gdbserver的调试方式。在官方公布的使用手册中没有详细写出在日常开发中非常实用的几种调试方式,本文主要介绍性能分析的调试方法。

在日常开发过程中经常会遇到程序不够快的情况,但是不知道到底慢在哪里,往往是随意寻找函数优化,并没有没有真正定位到程序哪里慢,存在很大的偶然性。性能分析工具就是用动态采样的方式定位真正慢的位置,定位之后再在这个点上进行优化,最终程序运行时间对比是非常明显的。

2. SylixOS性能分析调试步骤详解

2.1.1 性能分析演示demo

SylixOS的性能分析主要是通过加载性能分析模块(sperfs.ko)来查看各个函数消耗的CPU时间,能够准确找到需要优化的点。下面通过建立一个"perfoms_check_app"来做性能分析调试的演示,代码如程序清单 21所示。

程序清单 21 static_check_app代码

//sperfstart sperfs

#include


#define USE_SLEEP


void module_sleep(int iSecond)

{

#ifdef USE_SLEEP

sleep(1);

#else

bspDelayUs(iSecond*1000*1000);

#endif

}


void calc_value(void)

{

static int i;


i++;

}

void do_something(void)

{

/*

* do something

*/

calc_value();

module_sleep(1);

}


int main (int argc, char **argv)

{

while (1){

// do_something();

}

return (0);

}


2.1.2 加载性能分析模块(sperfs.ko)

(sperfs.ko模块为SylixOS性能分析检查提供一种调试工具)

点击IDE界面右上角"Device";选择目标机器IP地址,这里使用的是虚拟机的IP地址:192.168.7.32,右击IP号打开"Launch FTP"进行传输;然后在本地文件夹中找到sperfs.ko模块,传输路径选择在"/lib/modules"目录下;最后双击sperfs.ko即可完成模块加载的准备工作,具体步骤如图 21所示。

图 21 加载sperfs.ko模块方法一

除上述方法外还可以通过"cp"指令将性能分析模块的拷贝在"/lib/modules"目录下,如图 22所示。

图 22 加载sperfs.ko模块方法二

完成后在"cd /lib/modules"目录下用"ls"查看是否完成拷贝,结果如图 22所示。

图 23 查看是否完成加载

然后通过"chmod"改变文件的权限,再用"modulereg"命令注册性能分析模块,如图 23所示。

图 24 注册内核模块

最后通过"sperfstart"命令开启性能分析的功能,再用"sperfs"命令查看性能分析结果,如图 24所示。

图 25 开启性能分析模块

除此之外我们通过Talnet再打开一个调试窗口,运行演示程序"perfoms_check_app",性能分析结果如图 25所示,除空闲线程t_idleo和sperfs.ko外消耗CPU时间最多的函数是程序是performs_check中的main函数,在这里只需要优化该函数就可以减少程序运行时间。

图 26 性能分析结果

对该函数进行优化,优化结果如程序清单 22所示。

程序清单 22 main函数优化结果

int main (int argc, char **argv)

{

while (1){

do_something();

}

return (0);

}



再次进行性能分析,结果如图 26所示,main函数消耗的CPU时间已经大大减少。


图 27 优化后性能分析结果

3. 总结

在SylixOS中可以使用多种调试方式进行相关调试,根据实际情况对程序进行调试,本节主要介绍性能分析检查工具。下一篇文档将通过一个完整的工程文件来描述多种调试方式。

4. 参考资料

《SylixOS应用程序开发手册》

《RealEvo-IDE使用手册》


性能 性能分析 分析 程序 模块 函数 结果 如图 方法 方式 时间 清单 命令 工具 手册 文件 目录 定位 开发 消耗 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 智能科技公司是互联网公司吗 互联网与未来科技 广州宏创互联网科技 壹账通互联网科技 人人互联网科技是培训 顺网科技2021年互联网排名 农村开互联网科技讲堂 科技与互联网的利与弊 须眉科技是互联网公司吗 福建科技产业互联网发展 搜狐科技互联网 华夏恒生科技与互联网科技 江苏苏星互联网科技有限公司 梅州GM互联网络科技有限公司 21世纪互联网科技成就 抖集互联网科技技术咨询 银川新华互联网科技学校是国营吗 互联网科技品牌 山东蛋芒互联网科技有限公司 每日互联网科技新闻 亿人帮互联网科技有限公司 上海卓越科技互联网 互联网科技战争 互联网科技生活的内容 互联网和黑科技的看法 速维有品互联网信息科技(苏州)有限公司 领航科技大厦互联网公司 宁波跨境商互联网科技有限公司 艺电能源互联网科技有限公司招聘 广州三三互联网科技有限公司
0