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

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

3天内不再提示

DevEco Studio新特性分享-跨语言调试,让调试更便捷高效

HarmonyOS开发者 来源:未知 2023-01-05 13:00 次阅读

HUAWEI DevEco Studio是开发HarmonyOS应用及服务的一站式集成开发环境。本次分享DevEco Studio 3.1 Canary1上线的新特性- ArkTS与C++跨语言调试,让调试更便捷高效。


什么是跨语言调试


在日常开发活动中,开发者会灵活运用每种开发语言的长处来编写程序,在一个工程中可能会包含多种语言。

一般情况下,会在HarmonyOS的工程中使用ArkTS来承载页面和业务逻辑,用C++来实现性能要求较高的底层逻辑。这样,在代码调试时,就会面临同时调试两种语言的问题。如果只能使用单语言调试的方式,就需要频繁的切换调试会话、重启应用,还需要在C++语言中手动添加断点,且调用链断层不连续。这样在整个调试过程中,需要大量的手工操作,每次切换过程还需要6s左右的无效等待时间,调试效率较低。

针对这种多语言的开发场景, DevEco Studio提供了便捷高效的调试定位能力,支持ArkTS与C++跨语言调试,可同时调试ArkTS、C++这两种语言,整体操作体验与单一语言调试一致。在调试运行到调用C++代码处,断点能够直接Step Into跳转到C++代码,整个调试过程连续,无需额外在对应语言去手动添加断点,避免了在此过程过多的手工操作,并且无需等待,大幅提升了调试效率。


跨语言调试类型设置


当开发者选择Dual(Js+Native)调试类型时,可快速启动ArkTS与C++的跨语言调试能力。

调试过程先通过单步调试ArkTS代码,当程序运行到调用C++方法的代码行(通常会在这里设置断点),只需单击Step Into功能按钮,就能够直接跳转到C++对应代码行,便可以继续在C++代码中进行调试。当C++代码执行结束后,单击resume program功能按钮,可跳到有设置断点的ArkTS代码行。

开发者选择调试类型


调试过程中如果想终止,随时通过单击Stop按钮来终止调试模式的运行。

开发者通过在运行调试配置下拉框选择Edit Configuration或单击菜单栏Run > Edit Configurations,选择OpenHarmony APP下的模块名,选择右侧窗口中的Debugger,将Debug type设置为“Dual(Js + Native)”或“Detect Automatically”启动ArkTS与C++的跨语言调试能力。

ArkTS与C++的跨语言调试展示效果


具体跨语言调试的操作方法请复制链接至浏览器查看:

https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/arkts-js-native-cross-language-debugging-0000001434296861-V3


此外,DevEco Studio还提供了多线程调试,为我们开发者提供了更便捷的调试方法。

当应用中有耗时操作时,一般我们开发者会使用worker线程来处理,避免与UI主线程争抢资源,造成UI卡顿。但是在传统调试时,一次只能调试一个线程,处理一个调试堆栈。

针对多线程应用的调试场景,DevEco Studio推出了多线程调试能力,同时管理多个线程的调试资源,我们开发者可以在调试过程中随意切换待调试的进程,查看该进程的调试堆栈信息,有效提升了开发效率。

多线程调试


开发者在多线程开发场景下,直接使用调试功能即可。

DevEco Studio未来计划推出以下两个调试能力,进一步提升开发效率。

1)C++时光调试:开发者可以在C++代码中进行反向调试,针对偶发性的问题,一旦重现后,可以反复进行正向和反向的调试,让我们开发者有机会通过多遍的调试进行问题分析。

2)热重载能力:在调试过程中发现了代码bug,修改代码保存后,无需重启调试,就能立即在真机上看到修改后的效果,将大幅缩短调试过程中的等待时间。

更多惊喜功能,敬请期待!


END


想了解更多HarmonyOS技术?

后台留言给我们

立刻安排!


欢迎点击|阅读原文

学习跨语言调试


原文标题:DevEco Studio新特性分享-跨语言调试,让调试更便捷高效

文章出处:【微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

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

    关注

    79

    文章

    1965

    浏览量

    29953

原文标题:DevEco Studio新特性分享-跨语言调试,让调试更便捷高效

文章出处:【微信号:HarmonyOS_Dev,微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

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

    %BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.md)搭建好开发环境。IDE 安装好 DevEco 和 VsCode/Android Studio。 ## 2.配置 如果是
    发表于 10-23 16:29

    解锁SoC “调试”挑战,开启高效原型验证之路

    引言由于芯片设计复杂度的提升、集成规模的扩大,以及产品上市时间要求的缩短,使得设计验证变得更加困难。特别是在多FPGA环境中,设计调试和验证的复杂性进一步增加,传统的调试手段难以满足对高性能、高效
    的头像 发表于 10-09 08:04 427次阅读
    解锁SoC “<b class='flag-5'>调试</b>”挑战,开启<b class='flag-5'>高效</b>原型验证之路

    如何解决AURIX Studio IDE无法调试的问题?

    我的问题如下,请帮助我解决 AURIX Studio IDE 无法调试的问题。 创建会话出错 调试仪器 IO 无法初始化。 GDI 调试仪器提供了以下错误信息。
    发表于 07-24 07:21

    用aurix development studio调试代码时,导致调试中断的原因?

    当我用 aurix development studio 调试代码时,总是出现严重错误,导致调试中断,我不得不重启 studio,然后重新开始调试
    发表于 06-03 08:11

    Aurix development studio是否支持GCC调试器?

    当我尝试使用 Aurix development studio 调试 Aurix 示例时,我发现只有两个选项 TASKING C/C++ 调试器 winIDEA 调试器 我的问题是,G
    发表于 05-20 06:57

    鸿蒙ArkUI-X平台技术:【开发初体验】

    DevEco Studio中导入ArkUI-X Sample,快速创建平台工程。
    的头像 发表于 05-17 15:54 529次阅读
    鸿蒙ArkUI-X<b class='flag-5'>跨</b>平台技术:【开发初体验】

    讯维融合通信系统:沟通更智能、更便捷、更高效

    融合通信系统,作为现代通信技术的杰出代表,正以其独特的优势助力企业、组织乃至个人实现更智能、更便捷、更高效的沟通。讯维融合通信系统,作为其中的佼佼者,以其卓越的性能和广泛的应用领域,为用户带来
    的头像 发表于 04-12 16:28 389次阅读

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

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

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

    ,HUAWEI DevEco Studio不断挖掘、汲取开发者的需求和建议,经过持续打磨和系列升级实现新突破,将全力支持鸿蒙原生应用开发。 为助力高效开发,快速定位问题,DevEco
    的头像 发表于 02-04 15:35 664次阅读

    电机控制调试助手怎么用

    电机控制调试助手是一种帮助用户进行电机控制调试的辅助工具。它可以提供实时监测、参数设置、故障诊断和历史数据分析等功能,为用户提供便捷高效的电机调试
    的头像 发表于 12-28 13:57 853次阅读

    脚本调试工具有哪些?脚本调试工具怎么用?

    脚本调试是软件开发过程中非常重要的一环,它能帮助开发者快速定位并解决代码中的错误。大多数编程语言都提供了各种各样的脚本调试工具,本文将介绍一些常见的脚本调试工具以及它们的基本使用方法。
    的头像 发表于 12-01 14:40 783次阅读

    鸿蒙原生应用开发-DevEco Studio远程模拟器的使用

    DevEco Studio的Run > Run’模块名称’或,或使用默认快捷键Shift+F10(macOS为Control+R)。 DevEco Studio会启动应用/服务的
    发表于 11-10 17:01

    鸿蒙原生应用开发-DevEco Studio远程真机的使用

    一、先看看远程真机支持的机型情况相比本地和模拟器多了很多机型 二、远程真机使用的相关说明 该特性DevEco Studio V2.2 Beta1及更高版本中支持。 如果开发者没有真机设备资源,则不
    发表于 11-09 15:55

    鸿蒙原生应用开发-DevEco Studio超级终端模拟器的使用

    Studio会启动应用/服务的编译构建,完成后应用/服务即可运行在超级终端模拟器上。当前DevEco Studio提供了具备设备特性的工
    发表于 11-08 15:09