当前位置: 首页 > news >正文

网站开发设计培训价格广告设计公司行业地位

网站开发设计培训价格,广告设计公司行业地位,深圳做高端网站建设公司,商务网站建设多少钱前言 OpenAtom OpenHarmony(简称“OpenHarmony”)适配新的开发板时,启动流程init大概率会出现问题,其为内核直接拉起的第一个用户态进程,问题定位手段只能依赖代码走读和增加调试打印,初始化过程中系统崩溃…

前言

OpenAtom OpenHarmony(简称“OpenHarmony”)适配新的开发板时,启动流程init大概率会出现问题,其为内核直接拉起的第一个用户态进程,问题定位手段只能依赖代码走读和增加调试打印,初始化过程中系统崩溃的问题就更难定位了。如果能使用gdb调试init,会极大提高定位效率。本文将详细阐释二次启动的标准系统如何使用gdb调试init。

1. 编译出带debug信息的调试版本

将gdb打包到系统镜像中。init不正常的情况下,系统无法正常启动工作,无法使用hdc工具加载gdb工具,所以直接在制作镜像时,将其打包到系统镜像bin目录下。修改device\board\hihope\rk3568\cfg\BUILD.gn打包脚本如下,注意保证gdb工具已放置在此本目录下。

2. 调试版本镜像带符号,需要修改镜像配置文件,修改其大小限制,尤其是system.img,编译失败时不会提示实际镜像大小,需要修改到5G以上。

3. 编译调试版本,打开版本调试开关

./build.sh --product-name=XXX --gn-args=“is_debug=true use_unstripped_as_runtime_outputs=true”

上述debug版本只能调试普通功能而不能调试init,还需要对init服务的源码进行部分适配修改,init功能调试正常后,需将源码恢复。

首先,在init挂载好system、vendor等镜像,并将根目录切换到system镜像后,在启动第二阶段init时,切换到shell下,停止init初始化流程,见下图B处。

注意:A处的CloseStdio()需要注释掉。

考虑用gdb启动init第二阶段,init绝大部分处理流程都在这一阶段,从这里开始就可以用gdb调试了,init第一阶段处理相对而言流程简单一些,代码走读和调试打印基本就能解决问题。

在init主函数中去掉“不等于进程1就返回的处理”,因为用gdb起init第二阶段时,其进程非1。

init进程中不初始化Paramworkspace,前面pid=1的判断,在gdb调试init时条件不成立,所以此处增加判断init名就直接退出的处理。

做好了上述准备,就可以用gdb调试init:

把系统启动,改造后的init初始化第一阶段完成后,会停在shell下,此时使用下述命令启动init第二阶段:

gdb --args /bin/init --second-stage

为了调试init的子进程,还需要gdb下述命令

set follow-fork-mode child

总结

本文章针对OpenHarmony系统在调试init初始化流程时,缺少高效的问题定位手段这一痛点,引入了嵌入式系统开发的主流调试工具——gdb,详细描述了这一方法涉及到的版本编译、适配点修改以及调试命令操作等细节处理,指导开发者提高定位init问题的效率。

需要注意,当前gdb调试init方法有局限,不适用轻量级系统、小型系统和一次启动的标准系统。

为了帮助到大家能够更有效的学习OpenHarmony 开发的内容,下面特别准备了一些相关的参考学习资料:

OpenHarmony 开发环境搭建:https://qr18.cn/CgxrRy

《OpenHarmony源码解析》:https://qr18.cn/CgxrRy

  • 搭建开发环境
  • Windows 开发环境的搭建
  • Ubuntu 开发环境搭建
  • Linux 与 Windows 之间的文件共享
  • ……

系统架构分析:https://qr18.cn/CgxrRy

  • 构建子系统
  • 启动流程
  • 子系统
  • 分布式任务调度子系统
  • 分布式通信子系统
  • 驱动子系统
  • ……

OpenHarmony 设备开发学习手册:https://qr18.cn/CgxrRy

在这里插入图片描述

OpenHarmony面试题(内含参考答案):https://qr18.cn/CgxrRy

http://www.yayakq.cn/news/533957/

相关文章:

  • 太原百度网站快速排名宁波app开发公司
  • 烟台高新区网站公司网站的建设内容怎么写
  • 游乐园网站建设如何制作flash网站
  • 电商网站 厦门企业官网网页
  • 最好网站建设制作是那个包装设计网课答案
  • 爱站网关键词密度爱网站无法登录怎么回事
  • 怎么给别人做网站网站野花香视频在线观看社区
  • 门户和网站的区别游戏类网站备案
  • 网站建设的要求和策划哈尔滨房管局官网查询
  • 网站导航设置企业官网是什么意思
  • 南京网站制作网页东莞seo优化收费
  • 宏润建设集团股份有限公司网站阳江网站关键字优化
  • 个人公司网站建设附近电脑培训班位置
  • 克拉玛依市住房和建设局网站济宁创企网络技术有限公司
  • 网站备案包括空间内容吗自己做网站需要收费吗
  • 杭州seo网站推广排名广告设计与制作学啥
  • 做画册的国外网站网站的可视化设计
  • 公司网站怎么申请wordpress wiki 整合
  • 外贸网站发外链企业做网站建设遇到的问题
  • saas 平台架构做网站网站视频插件
  • 绞铜机 东莞网站建设花都微网站建设
  • 17网一起做网店网站桂林广告公司网站建设
  • w3c标准网站vue做网站看不到htmI吗
  • 还有那个网站可以做兼职呢l网站建设
  • 购物网站er图有没有做网站一次付费
  • 1元购网站建设网页设计项目案例网站
  • wap网站seo下载网站app
  • 网站建设怎样把网页连接起来怎么帮自己做的网站申请地址
  • 温州网站建设设计校园资源共享网站建设
  • 电子商务网站建设开发一个高端的网站设计