目前,HarmonyOS NEXT星河預覽版已經正式面向開發(fā)者開放申請,面向鴻蒙原生應用及元服務開發(fā)者提供的集成開發(fā)環(huán)境——DevEco Studio也迎來功能更細化的4.1版本。3年來,HUAWEI DevEco Studio不斷挖掘、汲取開發(fā)者的需求和建議,經過持續(xù)打磨和系列升級實現(xiàn)新突破,將全力支持鴻蒙原生應用開發(fā)。
為助力高效開發(fā),快速定位問題,DevEco Studio 4.1帶來多種調試能力,適用于不同的開發(fā)場景,如跨語言調試、混合堆棧、反向調試、熱重載、ArkUI Inspector等,本文將介紹DevEco Studio新版本的各項功能場景。
ArkTS C++跨語言混合調試,操作體驗如同單語言
通常,鴻蒙原生應用開發(fā)場景中,會使用ArkTS語言開發(fā)前端頁面,使用C++語言來實現(xiàn)高性能、低內存以及底層算法解碼接口的調用,此場景下調試就需要使用到ArkTS--C++跨語言混合調試能力,該能力支持調試執(zhí)行到調用C++方法的位置,支持點擊step into按鈕,以及直接跳轉到對應的C++方法的代碼中。
開發(fā)者只需在調試設置界面將Debug type設置為“Dual(ArkTS/Js + Native)” ,開啟混合調試模式。
1.1 并行棧視圖,可視化查看堆棧調用關系
當step into跳入到C++方法的代碼中繼續(xù)進行調試時,DevEco Studio提供了并行棧視圖功能,支持在程序停住時,可同時展示多個線程的調用棧信息,并且自動合并重復調用棧,方便開發(fā)者分析程序的并發(fā)執(zhí)行情況,以及發(fā)現(xiàn)潛在的多線程問題。而且支持雙擊視圖上的調用棧跳轉到對應堆棧,來查看該堆棧的變量信息。
在C++調試中窗口中點擊右上角「Layout Settings」按鈕,選擇 Parallel Stacks頁簽,即可打開并行棧視圖。
1.2 內存查看和修改
調試C++代碼時,DevEco Studio還支持內存查看和修改,開發(fā)者可以查看指定地址的內存,進行內存轉換、查看變量的內存,以及內存修改等操作。
同樣在C++調試中窗口中點擊右上角Layout Settings按鈕,選擇 Memory View ,快速打開內存查看窗口。
FaultLog異?;旌隙褩VС痔D到代碼,更快地定位問題
ArkTS--C++混合語言開發(fā)場景下,可能會遇到C++代碼出現(xiàn)崩潰,希望能夠定位到ArkTS調用的位置,以此判斷是代碼邏輯問題還是系統(tǒng)側問題。
此場景下,DevEco Studio提供混合堆棧定位能力,即在C++ Crash中縫合調用C++方法的ArkTS代碼堆棧信息,并將對應代碼位置的堆棧進行解碼分析,點擊鏈接能夠直接跳轉到對應的代碼行位置,方便開發(fā)者查看實際代碼調用鏈,快速定位問題。
與此同時,DevEco Studio集成了ASan(Address-Sanitizer),提供面向C/C++的地址越界檢測能力,并通過FaultLog展示錯誤的堆棧詳情及豐富的寄存器、Memory Map等信息。
C++反向調試,支持回退到歷史行和歷史斷點查看變量信息
針對C/C++開發(fā)場景中的偶發(fā)性問題,DevEco Studio則提供反向調試能力。在調試過程中如果對已經調試過的代碼有疑問,可以反向Step Over回退到歷史行,反向Resume執(zhí)行到歷史斷點,同時,還可以在程序執(zhí)行歷史的記錄點上查看全局、靜態(tài)、局部變量值,更有利于開發(fā)者分析代碼和定位問題。
打開File > Settings > Build,Execution,Deployment > Debugger > C++ Debugger設置界面,勾選Enable time travel debug開啟C++反向調試。
Hot Reload熱重載,保存已修改的代碼后,無需重啟應用繼續(xù)調試
在調試過程中,開發(fā)者發(fā)現(xiàn)問題及時修改代碼后,如果需要重啟調試,再次經歷編譯構建,推包安裝,啟動運行,才能看到修改后的效果,這樣反復操作比較消耗時間,為解決該問題,DevEco Studio提供熱重載(Hot Reload)能力,支持文件增量編譯,應用運行時熱重載,這樣開發(fā)者在修改源代碼保存后,無需重啟調試,就能立即在真機上看到修改后的效果,優(yōu)化調試過程中重復的流程,提升調試效率。開發(fā)者可以在「菜單欄」點擊Hot Reload按鈕,或者設置快捷鍵來開啟。
ArkUI Inspector定位UI問題,提供更多分析功能
調試應用在運行狀態(tài)下的UI顯示效果,是常見的開發(fā)場景。為此,DevEco Studio提供ArkUI Inspector功能,開發(fā)者可以在窗口查看當前運行應用運行的UI信息,包括查看UI組件樹,查看組件屬性、組件的父子關系,檢查是否有冗余的組件,檢查UI和高保真是否一致等等;優(yōu)化UI組件后點擊源碼跳轉按鈕即可跳轉至源碼位置,這樣有助于分析在UI界面經過復雜操作之后產生的邏輯錯誤,方便問題定位,改進優(yōu)化UI代碼。
初次使用打開View >Tool Windows > ArkUI Inspector觸發(fā),即可以在DevEco Studio界面下方展示ArkUI Inspector調試窗口。
DevEco Studio還有很多開發(fā)能力,等您解鎖,DevEco Studio還有很多開發(fā)能力,等您解鎖,歡迎上線HarmonyOS Developer官網(wǎng)以了解更多:https://developer.huawei.com/consumer/cn/deveco-studio/。
(免責聲明:本網(wǎng)站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。 )