加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 人脸识别、文字识别、智能机器人、图像分析、AI行业应用!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

鸿蒙开发环境Unix调试失败?90%卡在这3个隐蔽配置

发布时间:2026-11-03 08:29:26 所属栏目:Unix 来源:DaWei
导读:  鸿蒙开发环境Unix调试失败?90%卡在这3个隐蔽配置——我原以为是NDK版本漂移,结果扒到第三层才看见udev规则里那行# disabled by huawei_dev_setup.sh。  去年5月份,我们三区那个边缘节点刚切完OpenHarmony 4.0 LTS

  鸿蒙开发环境Unix调试失败?90%卡在这3个隐蔽配置——我原以为是NDK版本漂移,结果扒到第三层才看见udev规则里那行# disabled by huawei_dev_setup.sh。


  去年5月份,我们三区那个边缘节点刚切完OpenHarmony 4.0 LTS,小李蹲在机柜前调USB设备识别,手边还沾着热缩管胶,手机在深蹲架旁震了三下没接——后来才知道是他妈打的。前台在煮咖啡,蒸汽顶得玻璃门哗啦响,我就盯着他后颈那块红印子,像被静电打过似的。他试了七遍adb connect,每次adb devices都空着回车,连设备名都不吐,就跟体测时候会员站上秤不显示体重一样,不是坏了,是压根儿没认出你是谁。


  第一个坑:udev规则文件名带下划线,但HarmonyOS的hidetectd只扫横杠。我们当时全用的huawei-usb-rules.conf,其实得叫huawei-usb-rules.d,少个.d,systemd-udevd就当它不存在。王工昨天还跟我说“规则放对位置就行”,我说你去看下/lib/udev/rules.d/下头那个60-huawei-devices.rules——他翻开第一行就愣了:“哎?这行写着# DO NOT EDIT”,可底下全是他上周自己加的SUBSYSTEM=="usb", ATTR{idVendor}=="12d1"……全白写了。我原以为是权限问题,结果chmod 644都救不回来。


  跑步机电机嗡一声,低频震得地胶直抖,正好盖住小张喊我的音量。他举着一台DevEco Debugger的报错截图跑过来,说“断点进了kernel空间就崩”。我看一眼就知道是第二个坑:gdbserver和target的arm64指令集不匹配。我们装的是aarch64-linux-gnu-gdb,但板子跑的是armv8-a+smmuv3,缺一个--enable-targets=all编译参数,得重新make,而devstudio默认勾选“Use bundled gdb”——这选项根本没提示你它绑的是哪一版。记不清具体数了,大概那阵子重装交叉工具链五次,第三次烧写进去之后串口log直接变乱码,像会员做硬拉时核心没收紧、腰反弓到报警那种感觉。


文章配图,仅供参考

  器械区镜子上那道划痕斜穿右下角,从上次换灯管那天就有了,现在反光偏一点,看自己肩膀线条都不对称。饮水机旁堆的一次性杯倒得挺齐,蓝底白字“鸿蒙生态共建单位”印得模糊。这些跟调试没关系,但比日志有用——至少提醒你现实世界没clean install这回事。


  第三个最阴:/etc/security/limits.conf里,非root用户打开core文件大小限制是0。DevEco Debugger抓native crash必须生成core dump,可只要ulimit -c没设成unlimited,gdbserver启动瞬间就跪,还不报错,就安静退出。赵经理查了一上午系统日志,翻到journalctl -u systemd-coredump才看见“core dump suppressed due to resource limits”。没人怪他——我们去年上半年连docker容器都没放开memlock,更别说给调试留8G内存锁定了。


  优胜劣汰这词不是虚的。不是技术不行,是活下来的全是把udev规则名改过三次、知道在哪补gdb --enable-targets=all、顺手给所有dev账号执行ulimit -c unlimited的——剩下那些还在查“为什么adb devices不显示”的,早转去云侧做CI流水线了。小李昨天发消息问我能不能帮他看看另一台板子,我回他“先cat /proc/sys/kernel/core_pattern”,他隔二十分钟回了个“啊?这个也能动?”。


  会籍与业绩这事我早不说。前两天看到新来的实习生对着“HDC2023_QuickStart”文档逐字抄,抄完发现SDK下载链接指向已归档页面。我让他别动,先去把办公室墙上那台挂壁式空调滤网拆下来擦一遍。他说这跟编译有关系?我说没有,但我记得上回空调不制冷,是因为空气过滤网堵了三层灰,就像现在新人卡在adb不识别,其实只是udev没reload。擦完滤网风大了,人也静得下来。我原以为要讲半天原理,结果他蹲那儿五分钟,用指甲抠掉滤网卡槽里的毛絮,抬头说:“哦……原来不用重启。”


  更衣室的门关不严,总差两厘米,风一吹就吱呀。这声我听熟了,跟第一次体测时会员脱鞋踩到地胶黑印上的声音差不多——软的、闷的、带点迟疑。我们没再聊鸿蒙调试的事。他拎起包走了,包带子磨得发毛,是三年前买的那款。我摸出手机想搜“HarmonyOS debug core dump size limit”,点开浏览器又关了。现在得先去二楼机房看看那台离线三天的RK3588边缘节点,它的串口log最后停在“Waiting for udev to settle...”已经四十二小时十七分钟。得带根针过去,先把网口防尘塞挑出来——那玩意儿掉进RJ45口里,比udev规则名少个.d还难发现。

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!