目前,harmonyos next星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——deveco studio也迎来功能更细化的4.1版本。3年来,huawei deveco studio不断挖掘、汲取开发者的需求和建议,经过持续打磨和系列升级实现新突破,将全力支持鸿蒙原生应用开发。
为助力高效开发,快速定位问题,deveco studio 4.1带来多种调试能力,适用于不同的开发场景,如跨语言调试、混合堆栈、反向调试、热重载、arkui inspector等,本文将介绍deveco studio新版本的各项功能场景。
arkts c++跨语言混合调试,操作体验如同单语言
通常,鸿蒙原生应用开发场景中,会使用arkts语言开发前端页面,使用c++语言来实现高性能、低内存以及底层算法解码接口的调用,此场景下调试就需要使用到arkts--c++跨语言混合调试能力,该能力支持调试执行到调用c++方法的位置,支持点击step into按钮,以及直接跳转到对应的c++方法的代码中。
开发者只需在调试设置界面将debug type设置为“dual(arkts/js + native)” ,开启混合调试模式。
1.1 并行栈视图,可视化查看堆栈调用关系
当step into跳入到c++方法的代码中继续进行调试时,deveco studio提供了并行栈视图功能,支持在程序停住时,可同时展示多个线程的调用栈信息,并且自动合并重复调用栈,方便开发者分析程序的并发执行情况,以及发现潜在的多线程问题。而且支持双击视图上的调用栈跳转到对应堆栈,来查看该堆栈的变量信息。
在c++调试中窗口中点击右上角「layout settings」按钮,选择 parallel stacks页签,即可打开并行栈视图。
1.2 内存查看和修改
调试c++代码时,deveco studio还支持内存查看和修改,开发者可以查看指定地址的内存,进行内存转换、查看变量的内存,以及内存修改等操作。
同样在c++调试中窗口中点击右上角layout settings按钮,选择 memory view ,快速打开内存查看窗口。
faultlog异常混合堆栈支持跳转到代码,更快地定位问题
arkts--c++混合语言开发场景下,可能会遇到c++代码出现崩溃,希望能够定位到arkts调用的位置,以此判断是代码逻辑问题还是系统侧问题。
此场景下,deveco studio提供混合堆栈定位能力,即在c++ crash中缝合调用c++方法的arkts代码堆栈信息,并将对应代码位置的堆栈进行解码分析,点击链接能够直接跳转到对应的代码行位置,方便开发者查看实际代码调用链,快速定位问题。
与此同时,deveco studio集成了asan(address-sanitizer),提供面向c/c++的地址越界检测能力,并通过faultlog展示错误的堆栈详情及丰富的寄存器、memory map等信息。
c++反向调试,支持回退到历史行和历史断点查看变量信息
针对c/c++开发场景中的偶发性问题,deveco studio则提供反向调试能力。在调试过程中如果对已经调试过的代码有疑问,可以反向step over回退到历史行,反向resume执行到历史断点,同时,还可以在程序执行历史的记录点上查看全局、静态、局部变量值,更有利于开发者分析代码和定位问题。
打开file > settings > build,execution,deployment > debugger > c++ debugger设置界面,勾选enable time travel debug开启c++反向调试。
hot reload热重载,保存已修改的代码后,无需重启应用继续调试
在调试过程中,开发者发现问题及时修改代码后,如果需要重启调试,再次经历编译构建,推包安装,启动运行,才能看到修改后的效果,这样反复操作比较消耗时间,为解决该问题,deveco studio提供热重载(hot reload)能力,支持文件增量编译,应用运行时热重载,这样开发者在修改源代码保存后,无需重启调试,就能立即在真机上看到修改后的效果,优化调试过程中重复的流程,提升调试效率。开发者可以在「菜单栏」点击hot reload按钮,或者设置快捷键来开启。
arkui inspector定位ui问题,提供更多分析功能
调试应用在运行状态下的ui显示效果,是常见的开发场景。为此,deveco studio提供arkui inspector功能,开发者可以在窗口查看当前运行应用运行的ui信息,包括查看ui组件树,查看组件属性、组件的父子关系,检查是否有冗余的组件,检查ui和高保真是否一致等等;优化ui组件后点击源码跳转按钮即可跳转至源码位置,这样有助于分析在ui界面经过复杂操作之后产生的逻辑错误,方便问题定位,改进优化ui代码。
初次使用打开view >tool windows > arkui inspector触发,即可以在deveco studio界面下方展示arkui inspector调试窗口。
爱立信表示北美5G发布的合同刺激了其收入增长
苹果将要使用新的语音控制辅助功能
鑫忆讯入驻厦门海沧,海沧区集成电路产业项目总投资达350亿元
四家中国品牌在印度手机市场共占68.4%的份额
戴姆勒牵手沃尔沃,或合作研发发动机
DevEco Studio 4.1带来多种调试能力,助力鸿蒙原生应用开发高效调试
基于AD8205系列高侧电流传感器内部电路及原理解析
AI的定义及学术上的AI概念
软起动器常见故障之缺相故障怎么解决?
自动电平控制(ALC)为扬声器提供有效保护
VR/AR相比AR才会是未来之所寄
数字设计FPGA应用:时序逻辑电路FPGA的实现
汽车行业如何借力3D打印技术加速研发?
C语言教程之几种排序算法
采购多用户电能表应该注意什么
魅族Pro7什么时候上市?魅族Pro7最新消息:魅族Pro7动员会被曝光,魅族Pro7发布会指日可待
是什么因素影响了开关电源模块的工作效率
超高频RFID标签是怎么回事
如何通过软件优化可编程无线测试?
远距医疗工具协助偏远医院降低成本