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ā)活動(dòng)中,開發(fā)者會(huì)靈活運(yùn)用每種開發(fā)語言的長(zhǎng)處來編寫程序,在一個(gè)工程中可能會(huì)包含多種語言。
一般情況下,會(huì)在HarmonyOS的工程中使用ArkTS來承載頁面和業(yè)務(wù)邏輯,用C++來實(shí)現(xiàn)性能要求較高的底層邏輯。這樣,在代碼調(diào)試時(shí),就會(huì)面臨同時(shí)調(diào)試兩種語言的問題。如果只能使用單語言調(diào)試的方式,就需要頻繁的切換調(diào)試會(huì)話、重啟應(yīng)用,還需要在C++語言中手動(dòng)添加斷點(diǎn),且調(diào)用鏈斷層不連續(xù)。這樣在整個(gè)調(diào)試過程中,需要大量的手工操作,每次切換過程還需要6s左右的無效等待時(shí)間,調(diào)試效率較低。
針對(duì)這種多語言的開發(fā)場(chǎng)景, DevEco Studio提供了便捷高效的調(diào)試定位能力,支持ArkTS與C++跨語言調(diào)試,可同時(shí)調(diào)試ArkTS、C++這兩種語言,整體操作體驗(yàn)與單一語言調(diào)試一致。在調(diào)試運(yùn)行到調(diào)用C++代碼處,斷點(diǎn)能夠直接Step Into跳轉(zhuǎn)到C++代碼,整個(gè)調(diào)試過程連續(xù),無需額外在對(duì)應(yīng)語言去手動(dòng)添加斷點(diǎn),避免了在此過程過多的手工操作,并且無需等待,大幅提升了調(diào)試效率。
二
跨語言調(diào)試類型設(shè)置
當(dāng)開發(fā)者選擇Dual(Js+Native)調(diào)試類型時(shí),可快速啟動(dòng)ArkTS與C++的跨語言調(diào)試能力。
調(diào)試過程先通過單步調(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代碼行。
開發(fā)者選擇調(diào)試類型
調(diào)試過程中如果想終止,隨時(shí)通過單擊Stop按鈕來終止調(diào)試模式的運(yùn)行。
開發(fā)者通過在運(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++的跨語言調(diào)試能力。
ArkTS與C++的跨語言調(diào)試展示效果
具體跨語言調(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)試,為我們開發(fā)者提供了更便捷的調(diào)試方法。
當(dāng)應(yīng)用中有耗時(shí)操作時(shí),一般我們開發(fā)者會(huì)使用worker線程來處理,避免與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)試資源,我們開發(fā)者可以在調(diào)試過程中隨意切換待調(diào)試的進(jìn)程,查看該進(jìn)程的調(diào)試堆棧信息,有效提升了開發(fā)效率。
多線程調(diào)試
開發(fā)者在多線程開發(fā)場(chǎng)景下,直接使用調(diào)試功能即可。
DevEco Studio未來計(jì)劃推出以下兩個(gè)調(diào)試能力,進(jìn)一步提升開發(fā)效率。
1)C++時(shí)光調(diào)試:開發(fā)者可以在C++代碼中進(jìn)行反向調(diào)試,針對(duì)偶發(fā)性的問題,一旦重現(xiàn)后,可以反復(fù)進(jìn)行正向和反向的調(diào)試,讓我們開發(fā)者有機(jī)會(huì)通過多遍的調(diào)試進(jìn)行問題分析。
2)熱重載能力:在調(diào)試過程中發(fā)現(xiàn)了代碼bug,修改代碼保存后,無需重啟調(diào)試,就能立即在真機(jī)上看到修改后的效果,將大幅縮短調(diào)試過程中的等待時(shí)間。
更多驚喜功能,敬請(qǐng)期待!
END
想了解更多HarmonyOS技術(shù)?
后臺(tái)留言給我們
立刻安排!
歡迎點(diǎn)擊|閱讀原文|
學(xué)習(xí)跨語言調(diào)試
原文標(biāo)題:DevEco Studio新特性分享-跨語言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
HarmonyOS
+關(guān)注
關(guān)注
79文章
1980瀏覽量
30337
原文標(biāo)題:DevEco Studio新特性分享-跨語言調(diào)試,讓調(diào)試更便捷高效
文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論