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文章
1974瀏覽量
30147
原文標題:DevEco Studio新特性分享-跨語言調試,讓調試更便捷高效
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論