作者:,, 华为高级工程师
是一款轻量级开源物联网操作系统和智能硬件使能平台,可广泛应用于智能家居、可穿戴、车联网、制造等领域,让物联网终端开发更简单、互联更简单、业务更智能,体验更佳更流畅,数据更安全。
具有入门简单、开发方便、轻量化、低功耗、连接广泛、生态系统完整等优点。 它提供了多项高效的硬件维度测试能力,并集成到Tool中,形成可供开发者使用的调试调优工具,帮助开发者在鸿蒙智联设备调试调优过程中更准确地分析和定位问题。
接下来我们重点介绍Tool中集成的一系列调试调优工具。
1、鸿蒙智联设备调试调优面临的挑战
开发者在鸿蒙智联设备的调试调优过程中面临以下挑战:
如何应对这些挑战,让开发者高效、准确地完成鸿蒙智联设备的调试调优?
2.高效调试调优的五个法宝
为了应对上述挑战,Tool版本提供了五款用于调试和调优鸿蒙智能互联设备的神奇工具:图像分析工具、堆栈估计和分析工具、性能分析工具、可视化Trace工具和轻量级内存检测工具。 下面我们就来一一介绍。
注:Tool 3.0 Beta1 版本中已集成图像分析工具和堆栈估计分析工具。 目前仅支持 GCC 编译的镜像,Clang 尚不支持。 性能分析工具、可视化跟踪工具和轻量级内存检测工具将尽快上线,具体上线时间将正式通知。
1.图像分析工具
图像分析工具主要解决“资源限制下的图像分析与优化”。 通过分析编译后的map文件的内存使用情况,我们可以得到镜像中各个模块的ROM和RAM使用情况。
该工具支持查看内存区域概览、内存详细信息、文件大小和模块大小。 它还支持一些统计功能,包括排序、过滤、导出表格等操作,以及按文件或模块过滤查看的功能。 图像分析结果按照内存区域、详细信息、文件大小、模块大小四个界面显示。
图1
图2
使用该工具可以帮助开发人员快速评估和优化镜像的ROM和RAM使用情况。
2.堆栈估计分析工具
堆栈估计分析工具主要解决“运行内存不足时建立系统各任务堆栈”的问题。 通过遍历反汇编文件,计算函数的本地堆栈开销并分析函数之间的调用关系,估算任务的堆栈大小,为堆栈溢出分析和堆栈空间优化提供基础数据参考。
该工具提供了函数调用图、函数的总最大堆栈开销、内部开销,并显示了函数的具体位置。 堆栈分析结果按照函数列表和调用关系显示。
图3 列表
使用该工具可以帮助开发人员降低堆栈爆炸的风险并节省内存优化堆栈空间。
3. 性能分析工具
性能分析工具主要解决“性能瓶颈定位和优化”的问题。 基于事件采样统计原理,实现热点功能和热点路径分析,帮助识别性能瓶颈。
该工具提供两种工作模式:计数模式和采样模式。 它收集事件发生次数、执行时间以及PC、回溯堆栈等上下文,用于解析出热点函数、热点路径等信息。 同时该工具还支持3种类型的采样事件:
图4 性能分析工具界面
使用该工具可以帮助开发者快速有效地识别性能瓶颈,协助系统性能优化。
4.视觉追踪工具
可视化Trace工具主要解决“程序未按预期运行时的问题定位”。 通过使用静态代码存根和缓冲区记录,当执行存根时,会获取事件的上下文、系统任务等信息并将其记录在缓冲区中,以帮助开发人员了解何时何地发生了哪些事件。
该工具采用图形界面显示事件详细信息、CPU使用率、内存趋势图、任务切换轨迹等信息。 以下是Trace可视化的四个接口:
图5 时间信息视图
图6 任务轨迹视图
图7 CPU负载视图
图8 内存监控视图
使用该工具可以帮助开发人员清楚地了解系统的运行轨迹,更好地理解系统,并协助定位崩溃和死锁问题。
5.轻量级内存检测工具
一款轻量级的内存检测工具,主要解决“一键定位内存问题”。 该工具基于影子内存映射和标记原理,可以快速解决内存越界访问、释放后访问、多次释放等疑难问题。 它还可以在检测到错误后实时打印回溯堆栈。 如图9所示,结合轻量级内存检测工具,一键快速定位有问题的代码段。
图9 定位错误代码行号
使用该工具可以帮助开发者根据回溯堆栈一键定位到错误的代码行号。
以上就是本期的全部内容。 相信这五件法宝将帮助您克服鸿蒙智能网联设备发展道路上的障碍。 点击下面的链接下载并尝试一下!
工具3.0 Beta1下载链接: