HUAWEI DevEco Studio是開(kāi)發(fā)HarmonyOS應(yīng)用及服務(wù)的一站式集成開(kāi)發(fā)環(huán)境。本次分享DevEco Studio 3.1 Canary1上線的新特性- ArkTS與C++跨語(yǔ)言調(diào)試,讓調(diào)試更便捷高效。
一
什么是跨語(yǔ)言調(diào)試
在日常開(kāi)發(fā)活動(dòng)中,開(kāi)發(fā)者會(huì)靈活運(yùn)用每種開(kāi)發(fā)語(yǔ)言的長(zhǎng)處來(lái)編寫程序,在一個(gè)工程中可能會(huì)包含多種語(yǔ)言。
一般情況下,會(huì)在HarmonyOS的工程中使用ArkTS來(lái)承載頁(yè)面和業(yè)務(wù)邏輯,用C++來(lái)實(shí)現(xiàn)性能要求較高的底層邏輯。這樣,在代碼調(diào)試時(shí),就會(huì)面臨同時(shí)調(diào)試兩種語(yǔ)言的問(wèn)題。如果只能使用單語(yǔ)言調(diào)試的方式,就需要頻繁的切換調(diào)試會(huì)話、重啟應(yīng)用,還需要在C++語(yǔ)言中手動(dòng)添加斷點(diǎn),且調(diào)用鏈斷層不連續(xù)。這樣在整個(gè)調(diào)試過(guò)程中,需要大量的手工操作,每次切換過(guò)程還需要6s左右的無(wú)效等待時(shí)間,調(diào)試效率較低。
針對(duì)這種多語(yǔ)言的開(kāi)發(fā)場(chǎng)景, DevEco Studio提供了便捷高效的調(diào)試定位能力,支持ArkTS與C++跨語(yǔ)言調(diào)試,可同時(shí)調(diào)試ArkTS、C++這兩種語(yǔ)言,整體操作體驗(yàn)與單一語(yǔ)言調(diào)試一致。在調(diào)試運(yùn)行到調(diào)用C++代碼處,斷點(diǎn)能夠直接Step Into跳轉(zhuǎn)到C++代碼,整個(gè)調(diào)試過(guò)程連續(xù),無(wú)需額外在對(duì)應(yīng)語(yǔ)言去手動(dòng)添加斷點(diǎn),避免了在此過(guò)程過(guò)多的手工操作,并且無(wú)需等待,大幅提升了調(diào)試效率。
二
跨語(yǔ)言調(diào)試類型設(shè)置
當(dāng)開(kāi)發(fā)者選擇Dual(Js+Native)調(diào)試類型時(shí),可快速啟動(dòng)ArkTS與C++的跨語(yǔ)言調(diào)試能力。
調(diào)試過(guò)程先通過(guò)單步調(diào)試ArkTS代碼,當(dāng)程序運(yùn)行到調(diào)用C++方法的代碼行(通常會(huì)在這里設(shè)置斷點(diǎn)),只需單擊Step Into功能按鈕,就能夠直接跳轉(zhuǎn)到C++對(duì)應(yīng)代碼行,便可以繼續(xù)在C++代碼中進(jìn)行調(diào)試。當(dāng)C++代碼執(zhí)行結(jié)束后,單擊resume program功能按鈕,可跳到有設(shè)置斷點(diǎn)的ArkTS代碼行。

開(kāi)發(fā)者選擇調(diào)試類型
調(diào)試過(guò)程中如果想終止,隨時(shí)通過(guò)單擊Stop按鈕來(lái)終止調(diào)試模式的運(yùn)行。
開(kāi)發(fā)者通過(guò)在運(yùn)行調(diào)試配置下拉框選擇Edit Configuration或單擊菜單欄Run > Edit Configurations,選擇OpenHarmony APP下的模塊名,選擇右側(cè)窗口中的Debugger,將Debug type設(shè)置為“Dual(Js + Native)”或“Detect Automatically”啟動(dòng)ArkTS與C++的跨語(yǔ)言調(diào)試能力。

ArkTS與C++的跨語(yǔ)言調(diào)試展示效果
具體跨語(yǔ)言調(diào)試的操作方法請(qǐng)復(fù)制鏈接至瀏覽器查看:
https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/arkts-js-native-cross-language-debugging-0000001434296861-V3
此外,DevEco Studio還提供了多線程調(diào)試,為我們開(kāi)發(fā)者提供了更便捷的調(diào)試方法。
當(dāng)應(yīng)用中有耗時(shí)操作時(shí),一般我們開(kāi)發(fā)者會(huì)使用worker線程來(lái)處理,避免與UI主線程爭(zhēng)搶資源,造成UI卡頓。但是在傳統(tǒng)調(diào)試時(shí),一次只能調(diào)試一個(gè)線程,處理一個(gè)調(diào)試堆棧。
針對(duì)多線程應(yīng)用的調(diào)試場(chǎng)景,DevEco Studio推出了多線程調(diào)試能力,同時(shí)管理多個(gè)線程的調(diào)試資源,我們開(kāi)發(fā)者可以在調(diào)試過(guò)程中隨意切換待調(diào)試的進(jìn)程,查看該進(jìn)程的調(diào)試堆棧信息,有效提升了開(kāi)發(fā)效率。

多線程調(diào)試
開(kāi)發(fā)者在多線程開(kāi)發(fā)場(chǎng)景下,直接使用調(diào)試功能即可。
DevEco Studio未來(lái)計(jì)劃推出以下兩個(gè)調(diào)試能力,進(jìn)一步提升開(kāi)發(fā)效率。
1)C++時(shí)光調(diào)試:開(kāi)發(fā)者可以在C++代碼中進(jìn)行反向調(diào)試,針對(duì)偶發(fā)性的問(wèn)題,一旦重現(xiàn)后,可以反復(fù)進(jìn)行正向和反向的調(diào)試,讓我們開(kāi)發(fā)者有機(jī)會(huì)通過(guò)多遍的調(diào)試進(jìn)行問(wèn)題分析。
2)熱重載能力:在調(diào)試過(guò)程中發(fā)現(xiàn)了代碼bug,修改代碼保存后,無(wú)需重啟調(diào)試,就能立即在真機(jī)上看到修改后的效果,將大幅縮短調(diào)試過(guò)程中的等待時(shí)間。
更多驚喜功能,敬請(qǐng)期待!
END
想了解更多HarmonyOS技術(shù)?
后臺(tái)留言給我們
立刻安排!

歡迎點(diǎn)擊|閱讀原文|
學(xué)習(xí)跨語(yǔ)言調(diào)試
原文標(biāo)題:DevEco Studio新特性分享-跨語(yǔ)言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信公眾號(hào):HarmonyOS開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
2053瀏覽量
32140
原文標(biāo)題:DevEco Studio新特性分享-跨語(yǔ)言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ArkUI-X跨平臺(tái)框架接入指南
最新 HUAWEI DevEco Studio 使用技巧

DevEco Studio 工具如何安裝
用DevEco Studio增量補(bǔ)丁修復(fù)功能,讓鴻蒙應(yīng)用的調(diào)試效率大增
用DevEco Studio增量補(bǔ)丁修復(fù)功能,讓鴻蒙應(yīng)用的調(diào)試效率大增
最新 HUAWEI DevEco Studio 調(diào)試技巧
AI全能助手 三星Galaxy S25系列讓生活更高效便捷
DevEco Studio 聯(lián)合小藝接入 DeepSeek,步驟更簡(jiǎn)單開(kāi)發(fā)鴻蒙更專業(yè)
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試反向調(diào)試
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-ArkTS代碼調(diào)試等待調(diào)試
HarmonyOS NEXT 原生應(yīng)用/元服務(wù)調(diào)試概述
如何在DevEco Studio中利用CodeGPT接入DeepSeek

鴻蒙北向開(kāi)發(fā)OpenHarmony4.1 DevEco Studio開(kāi)發(fā)工具安裝與配置

解鎖SoC “調(diào)試”挑戰(zhàn),開(kāi)啟高效原型驗(yàn)證之路

評(píng)論