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代碼行。
![](https://file1.elecfans.com//web2/M00/9F/89/wKgaomToHhyAccQtAAD3B7d997M880.png)
開發者選擇調試類型
調試過程中如果想終止,隨時通過單擊Stop按鈕來終止調試模式的運行。
開發者通過在運行調試配置下拉框選擇Edit Configuration或單擊菜單欄Run > Edit Configurations,選擇OpenHarmony APP下的模塊名,選擇右側窗口中的Debugger,將Debug type設置為“Dual(Js + Native)”或“Detect Automatically”啟動ArkTS與C++的跨語言調試能力。
![](https://file1.elecfans.com//web2/M00/9F/89/wKgaomToHh2AOvVBAA5V8YhrxDQ265.gif)
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推出了多線程調試能力,同時管理多個線程的調試資源,我們開發者可以在調試過程中隨意切換待調試的進程,查看該進程的調試堆棧信息,有效提升了開發效率。
![](https://file1.elecfans.com//web2/M00/9F/89/wKgaomToHh2AQUBdAAbF8DE932Q123.gif)
多線程調試
開發者在多線程開發場景下,直接使用調試功能即可。
DevEco Studio未來計劃推出以下兩個調試能力,進一步提升開發效率。
1)C++時光調試:開發者可以在C++代碼中進行反向調試,針對偶發性的問題,一旦重現后,可以反復進行正向和反向的調試,讓我們開發者有機會通過多遍的調試進行問題分析。
2)熱重載能力:在調試過程中發現了代碼bug,修改代碼保存后,無需重啟調試,就能立即在真機上看到修改后的效果,將大幅縮短調試過程中的等待時間。
更多驚喜功能,敬請期待!
END
想了解更多HarmonyOS技術?
后臺留言給我們
立刻安排!
![](https://file1.elecfans.com//web2/M00/9F/89/wKgaomToHh2AAGkkAADXrK0uGFA529.gif)
歡迎點擊|閱讀原文|
學習跨語言調試
原文標題:DevEco Studio新特性分享-跨語言調試,讓調試更便捷高效
文章出處:【微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。
-
HarmonyOS
+關注
關注
79文章
1982瀏覽量
30458
原文標題:DevEco Studio新特性分享-跨語言調試,讓調試更便捷高效
文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
DevEco Studio應用與服務體檢工具介紹
![<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>應用與服務體檢工具介紹](https://file1.elecfans.com/web1/M00/F4/53/wKgaoWcpk8-AE4WwAABLfHJ_TrE827.png)
DevEco Studio Code Linter的使用指南
鴻蒙Flutter實戰:08-如何調試代碼
解鎖SoC “調試”挑戰,開啟高效原型驗證之路
![解鎖SoC “<b class='flag-5'>調試</b>”挑戰,開啟<b class='flag-5'>高效</b>原型驗證之路](https://file.elecfans.com/web2/M00/4B/6A/pYYBAGKoTXWAFdqwAAAWmg44LUs841.png)
數字電源的低壓調試和高壓調試
如何解決AURIX Studio IDE無法調試的問題?
用aurix development studio調試代碼時,導致調試中斷的原因?
aurix development studio無法調試,圖標為灰色如何解決?
Aurix development studio是否支持GCC調試器?
訊維融合通信系統:讓溝通更智能、更便捷、更高效
PLC系統的安裝與調試流程
![PLC系統的安裝與<b class='flag-5'>調試</b>流程](https://file1.elecfans.com/web2/M00/C5/F8/wKgZomYD4jyAQXX5AAAZgB7ZoFk052.jpg)
鴻蒙OS應用開發:【DevEco Studio3.0 和 3.1版本差異】
![鴻蒙OS應用開發:【<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>3.0 和 3.1版本差異】](https://file1.elecfans.com/web2/M00/C6/BD/wKgaomYCkIeATRSZAACM1aA1tPc121.jpg)
評論