DevEco Studio 4.1带来多种调试能力,助力鸿蒙原生应用开发高效调试

发布时间:2024-02-04  

目前,HarmonyOS NEXT星河预览版已经正式面向开发者开放申请,面向鸿蒙原生应用及元服务开发者提供的集成开发环境——DevEco Studio也迎来功能更细化的4.1版本。三年来,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调试窗口。

DevEco Studio还有很多开发能力,等您解锁,DevEco Studio还有很多开发能力,等您解锁,欢迎上线HarmonyOS Developer官网以了解更多:https://developer.huawei.com/consumer/cn/deveco-studio/。

文章来源于:21IC    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>