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

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

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

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

歡迎點擊|閱讀原文|
學(xué)習(xí)跨語言調(diào)試
原文標(biāo)題:DevEco Studio新特性分享-跨語言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
HarmonyOS
+關(guān)注
關(guān)注
80文章
2153瀏覽量
36039
原文標(biāo)題:DevEco Studio新特性分享-跨語言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
C語言特性
調(diào)試工具:Eclipse調(diào)試工具欄與窗口的深入分析
硬件調(diào)試:JLink 驅(qū)動配置與調(diào)試技巧
通過御控APP實現(xiàn)PLC遠(yuǎn)程調(diào)試與遠(yuǎn)程監(jiān)控
ArkUI-X跨平臺框架接入指南
最新 HUAWEI DevEco Studio 使用技巧
DevEco Studio新特性分享-跨語言調(diào)試,讓調(diào)試更便捷高效
評論