0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

话说科技 来源:话说科技 作者:话说科技 2024-02-04 15:35 次阅读

目前,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调试窗口。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 调试
    +关注

    关注

    7

    文章

    571

    浏览量

    33883
  • 鸿蒙
    +关注

    关注

    57

    文章

    2305

    浏览量

    42713
  • HarmonyOS
    +关注

    关注

    79

    文章

    1966

    浏览量

    29984
收藏 人收藏

    评论

    相关推荐

    鸿蒙原生开发手记:01-元服务开发

    同样的使用方法。 服务卡片 元服务可以添加服务卡片,详细介绍见《鸿蒙原生开发手记:02-服务卡片开发开发测试 在
    发表于 11-14 17:28

    DevEco Studio应用与服务体检工具介绍

    应用检测工具是开发者快速提升鸿蒙应用产品质量不可或缺的。因此,我们要向您推荐DevEco Studio应用与服务体检工具(AppAnalyzer)。当前已支持包括各种类型测试以及最佳实
    的头像 发表于 11-05 11:39 166次阅读
    <b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>应用与服务体检工具介绍

    鸿蒙Flutter实战:08-如何调试代码

    # 鸿蒙Flutter实战:如何调试代码 ## 1.环境搭建 参考文章[鸿蒙Flutter实战:01-搭建开发环境](https://gitee.com/zacks
    发表于 10-23 16:29

    鸿蒙OpenHarmony南向/北向快速开发教程-迅为RK3568开发

    运行鸿蒙4.1系统,意味着你将拥有更加流畅、高效开发体验。从硬件到软件,从底层到应用,一切都变得触手可及! 那么,如何快速上手呢?别担心,我们已经为你准备好了详尽的
    发表于 07-23 10:44

    庆科信息获HarmonyOS高级应用开发能力认证!助力品牌快速打造鸿蒙原生应用

    近日,上海庆科信息技术有限公司荣获HarmonyOS应用开发者高级认证,公司在华为鸿蒙生态的开发能力得到进一步拓展,能够帮助客户快速开发基于
    的头像 发表于 07-17 13:24 536次阅读
    庆科信息获HarmonyOS高级应用<b class='flag-5'>开发</b><b class='flag-5'>能力</b>认证!<b class='flag-5'>助力</b>品牌快速打造<b class='flag-5'>鸿蒙</b><b class='flag-5'>原生</b>应用

    鸿蒙原生应用元服务开发-鸿蒙真机运行项目实战与注意事项

    一、解压项目注意项目包不能为中文 二、用数据线将装好DevEco Studio的电脑与设置为开发者模式的鸿蒙手机相连接。 三、将项目包托进DevEc
    发表于 05-24 15:12

    哪吒汽车APP启动鸿蒙原生应用开发

    哪吒汽车正式签约,启动鸿蒙原生应用开发;在5月17日,在上海市经济和信息化委员会指导的“千帆竞发启航 共筑鸿蒙生态——HDD上海站·鸿蒙
    的头像 发表于 05-18 09:48 1140次阅读

    鸿蒙OS应用开发:【DevEco Studio3.0 和 3.1版本差异】

    自动生成对应的代码和资源模板。同时,DevEco Studio还提供了多种编程语言供开发者进行HarmonyOS应用/服务开发,包括Java
    的头像 发表于 03-26 17:21 1037次阅读
    <b class='flag-5'>鸿蒙</b>OS应用<b class='flag-5'>开发</b>:【<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>3.0 和 3.1版本差异】

    鸿蒙DevEco Service开发准备与使用

    Serverless能力的调用。通过与元服务生态、HMS Core、AGC Serverless平台、DevEco Studio开发者联盟生态市场等产品的深度打通,
    发表于 02-23 15:40

    HarmonyOS SDK 助力新浪新闻打造精致易用的新闻应用

    致、更易用 HarmonyOS SDK 将高频场景整合为场景化能力,通过提供标准化服务以支撑鸿蒙原生应用高效开发。“HarmonyOS SD
    发表于 02-07 15:51

    使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

    随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植到鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发鸿蒙
    的头像 发表于 02-02 16:09 811次阅读
    使用 Taro <b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b><b class='flag-5'>原生</b>应用 —— 快速上手,<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>指南

    淘宝正式启动华为鸿蒙原生应用开发

    华为与淘宝近日宣布,淘宝已正式启动鸿蒙原生应用开发。这一合作标志着鸿蒙生态在电商领域的布局进一步扩大,将为用户带来全新的全场景购物体验。
    的头像 发表于 01-26 15:59 743次阅读

    HarmonyOS SDK,助力开发者打造焕然一新的鸿蒙原生应用

    六大领域的开发能力,为开发带来简洁、高效开发体验,开发
    发表于 01-19 10:31

    鸿蒙千帆起】《开心消消乐》完成鸿蒙原生应用开发,创新多端联动用户体验

    《开心消消乐》已经完成鸿蒙原生应用开发,乐元素成为率先完成鸿蒙原生应用开发的 20+游戏厂商之一
    发表于 01-03 10:22

    鸿蒙原生应用/元服务开发-开发者如何进行真机测试

    前提条件:已经完成鸿蒙原生应用/元服务开发,已经能相对熟练使用DevEco Studio,开发
    发表于 11-30 09:46