0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DevEco Studio 4.1帶來多種調(diào)試能力,助力鴻蒙原生應(yīng)用開發(fā)高效調(diào)試

話說科技 ? 來源:話說科技 ? 作者:話說科技 ? 2024-02-04 15:35 ? 次閱讀

目前,HarmonyOS NEXT星河預(yù)覽版已經(jīng)正式面向開發(fā)者開放申請,面向鴻蒙原生應(yīng)用及元服務(wù)開發(fā)者提供的集成開發(fā)環(huán)境——DevEco Studio也迎來功能更細化的4.1版本。3年來,HUAWEI DevEco Studio不斷挖掘、汲取開發(fā)者的需求和建議,經(jīng)過持續(xù)打磨和系列升級實現(xiàn)新突破,將全力支持鴻蒙原生應(yīng)用開發(fā)。

為助力高效開發(fā),快速定位問題,DevEco Studio 4.1帶來多種調(diào)試能力,適用于不同的開發(fā)場景,如跨語言調(diào)試、混合堆棧、反向調(diào)試、熱重載、ArkUI Inspector等,本文將介紹DevEco Studio新版本的各項功能場景。

ArkTS C++跨語言混合調(diào)試,操作體驗如同單語言

通常,鴻蒙原生應(yīng)用開發(fā)場景中,會使用ArkTS語言開發(fā)前端頁面,使用C++語言來實現(xiàn)高性能、低內(nèi)存以及底層算法解碼接口的調(diào)用,此場景下調(diào)試就需要使用到ArkTS--C++跨語言混合調(diào)試能力,該能力支持調(diào)試執(zhí)行到調(diào)用C++方法的位置,支持點擊step into按鈕,以及直接跳轉(zhuǎn)到對應(yīng)的C++方法的代碼中。

開發(fā)者只需在調(diào)試設(shè)置界面將Debug type設(shè)置為“Dual(ArkTS/Js + Native)” ,開啟混合調(diào)試模式。

1.1 并行棧視圖,可視化查看堆棧調(diào)用關(guān)系

當step into跳入到C++方法的代碼中繼續(xù)進行調(diào)試時,DevEco Studio提供了并行棧視圖功能,支持在程序停住時,可同時展示多個線程的調(diào)用棧信息,并且自動合并重復(fù)調(diào)用棧,方便開發(fā)者分析程序的并發(fā)執(zhí)行情況,以及發(fā)現(xiàn)潛在的多線程問題。而且支持雙擊視圖上的調(diào)用棧跳轉(zhuǎn)到對應(yīng)堆棧,來查看該堆棧的變量信息。

在C++調(diào)試中窗口中點擊右上角「Layout Settings」按鈕,選擇 Parallel Stacks頁簽,即可打開并行棧視圖。

1.2 內(nèi)存查看和修改

調(diào)試C++代碼時,DevEco Studio還支持內(nèi)存查看和修改,開發(fā)者可以查看指定地址的內(nèi)存,進行內(nèi)存轉(zhuǎn)換、查看變量的內(nèi)存,以及內(nèi)存修改等操作。

同樣在C++調(diào)試中窗口中點擊右上角Layout Settings按鈕,選擇 Memory View ,快速打開內(nèi)存查看窗口。

FaultLog異?;旌隙褩VС痔D(zhuǎn)到代碼,更快地定位問題

ArkTS--C++混合語言開發(fā)場景下,可能會遇到C++代碼出現(xiàn)崩潰,希望能夠定位到ArkTS調(diào)用的位置,以此判斷是代碼邏輯問題還是系統(tǒng)側(cè)問題。

此場景下,DevEco Studio提供混合堆棧定位能力,即在C++ Crash中縫合調(diào)用C++方法的ArkTS代碼堆棧信息,并將對應(yīng)代碼位置的堆棧進行解碼分析,點擊鏈接能夠直接跳轉(zhuǎn)到對應(yīng)的代碼行位置,方便開發(fā)者查看實際代碼調(diào)用鏈,快速定位問題。

與此同時,DevEco Studio集成了ASan(Address-Sanitizer),提供面向C/C++的地址越界檢測能力,并通過FaultLog展示錯誤的堆棧詳情及豐富的寄存器、Memory Map等信息。

C++反向調(diào)試,支持回退到歷史行和歷史斷點查看變量信息

針對C/C++開發(fā)場景中的偶發(fā)性問題,DevEco Studio則提供反向調(diào)試能力。在調(diào)試過程中如果對已經(jīng)調(diào)試過的代碼有疑問,可以反向Step Over回退到歷史行,反向Resume執(zhí)行到歷史斷點,同時,還可以在程序執(zhí)行歷史的記錄點上查看全局、靜態(tài)、局部變量值,更有利于開發(fā)者分析代碼和定位問題。

打開File > Settings > Build,Execution,Deployment > Debugger > C++ Debugger設(shè)置界面,勾選Enable time travel debug開啟C++反向調(diào)試。

Hot Reload熱重載,保存已修改的代碼后,無需重啟應(yīng)用繼續(xù)調(diào)試

在調(diào)試過程中,開發(fā)者發(fā)現(xiàn)問題及時修改代碼后,如果需要重啟調(diào)試,再次經(jīng)歷編譯構(gòu)建,推包安裝,啟動運行,才能看到修改后的效果,這樣反復(fù)操作比較消耗時間,為解決該問題,DevEco Studio提供熱重載(Hot Reload)能力,支持文件增量編譯,應(yīng)用運行時熱重載,這樣開發(fā)者在修改源代碼保存后,無需重啟調(diào)試,就能立即在真機上看到修改后的效果,優(yōu)化調(diào)試過程中重復(fù)的流程,提升調(diào)試效率。開發(fā)者可以在「菜單欄」點擊Hot Reload按鈕,或者設(shè)置快捷鍵來開啟。

ArkUI Inspector定位UI問題,提供更多分析功能

調(diào)試應(yīng)用在運行狀態(tài)下的UI顯示效果,是常見的開發(fā)場景。為此,DevEco Studio提供ArkUI Inspector功能,開發(fā)者可以在窗口查看當前運行應(yīng)用運行的UI信息,包括查看UI組件樹,查看組件屬性、組件的父子關(guān)系,檢查是否有冗余的組件,檢查UI和高保真是否一致等等;優(yōu)化UI組件后點擊源碼跳轉(zhuǎn)按鈕即可跳轉(zhuǎn)至源碼位置,這樣有助于分析在UI界面經(jīng)過復(fù)雜操作之后產(chǎn)生的邏輯錯誤,方便問題定位,改進優(yōu)化UI代碼。

初次使用打開View >Tool Windows > ArkUI Inspector觸發(fā),即可以在DevEco Studio界面下方展示ArkUI Inspector調(diào)試窗口。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 調(diào)試
    +關(guān)注

    關(guān)注

    7

    文章

    551

    瀏覽量

    33763
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42485
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29736
收藏 人收藏

    評論

    相關(guān)推薦

    慶科信息獲HarmonyOS高級應(yīng)用開發(fā)能力認證!助力品牌快速打造鴻蒙原生應(yīng)用

    近日,上海慶科信息技術(shù)有限公司榮獲HarmonyOS應(yīng)用開發(fā)者高級認證,公司在華為鴻蒙生態(tài)的開發(fā)能力得到進一步拓展,能夠幫助客戶快速開發(fā)基于
    的頭像 發(fā)表于 07-17 13:24 ?428次閱讀
    慶科信息獲HarmonyOS高級應(yīng)用<b class='flag-5'>開發(fā)</b><b class='flag-5'>能力</b>認證!<b class='flag-5'>助力</b>品牌快速打造<b class='flag-5'>鴻蒙</b><b class='flag-5'>原生</b>應(yīng)用

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-鴻蒙真機運行項目實戰(zhàn)與注意事項

    一、解壓項目注意項目包不能為中文 二、用數(shù)據(jù)線將裝好DevEco Studio的電腦與設(shè)置為開發(fā)者模式的鴻蒙手機相連接。 三、將項目包托進DevEc
    發(fā)表于 05-24 15:12

    哪吒汽車APP啟動鴻蒙原生應(yīng)用開發(fā)

    哪吒汽車正式簽約,啟動鴻蒙原生應(yīng)用開發(fā);在5月17日,在上海市經(jīng)濟和信息化委員會指導(dǎo)的“千帆競發(fā)啟航 共筑鴻蒙生態(tài)——HDD上海站·鴻蒙
    的頭像 發(fā)表于 05-18 09:48 ?1053次閱讀

    鴻蒙OS應(yīng)用開發(fā):【DevEco Studio3.0 和 3.1版本差異】

    自動生成對應(yīng)的代碼和資源模板。同時,DevEco Studio還提供了多種編程語言供開發(fā)者進行HarmonyOS應(yīng)用/服務(wù)開發(fā),包括Java
    的頭像 發(fā)表于 03-26 17:21 ?859次閱讀
    <b class='flag-5'>鴻蒙</b>OS應(yīng)用<b class='flag-5'>開發(fā)</b>:【<b class='flag-5'>DevEco</b> <b class='flag-5'>Studio</b>3.0 和 3.1版本差異】

    HarmonyOS SDK 助力新浪新聞打造精致易用的新聞應(yīng)用

    致、更易用 HarmonyOS SDK 將高頻場景整合為場景化能力,通過提供標準化服務(wù)以支撐鴻蒙原生應(yīng)用高效開發(fā)?!癏armonyOS SD
    發(fā)表于 02-07 15:51

    使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙
    的頭像 發(fā)表于 02-02 16:09 ?693次閱讀
    使用 Taro <b class='flag-5'>開發(fā)</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>原生</b>應(yīng)用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>開發(fā)</b>指南

    HarmonyOS SDK,助力開發(fā)者打造煥然一新的鴻蒙原生應(yīng)用

    六大領(lǐng)域的開發(fā)能力,為開發(fā)帶來簡潔、高效開發(fā)體驗,開發(fā)
    發(fā)表于 01-19 10:31

    鴻蒙千帆起】《開心消消樂》完成鴻蒙原生應(yīng)用開發(fā),創(chuàng)新多端聯(lián)動用戶體驗

    《開心消消樂》已經(jīng)完成鴻蒙原生應(yīng)用開發(fā),樂元素成為率先完成鴻蒙原生應(yīng)用開發(fā)的 20+游戲廠商之一
    發(fā)表于 01-03 10:22

    鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-開發(fā)者如何進行真機測試

    前提條件:已經(jīng)完成鴻蒙原生應(yīng)用/元服務(wù)開發(fā),已經(jīng)能相對熟練使用DevEco Studio,開發(fā)
    發(fā)表于 11-30 09:46

    鴻蒙原生應(yīng)用開發(fā)-DevEco Studio遠程模擬器的使用

    DevEco Studio的Run > Run’模塊名稱’或,或使用默認快捷鍵Shift+F10(macOS為Control+R)。 DevEco Studio會啟動應(yīng)用/服務(wù)的
    發(fā)表于 11-10 17:01

    鴻蒙原生應(yīng)用開發(fā)-DevEco Studio遠程真機的使用

    能很方便的調(diào)試和驗證HarmonyOS應(yīng)用,為方便開發(fā)者,DevEco Studio提供了Remote Device遠程真機設(shè)備資源供開發(fā)
    發(fā)表于 11-09 15:55

    鴻蒙原生應(yīng)用開發(fā)-DevEco Studio超級終端模擬器的使用

    一、了解超級終端模擬器支持的設(shè)備情況 該特性在DevEco Studio V2.1 Release及更高版本中支持。 目前超級終端模擬器支持“Phone+Phone”、“Phone+Tablet
    發(fā)表于 11-08 15:09

    鴻蒙原生應(yīng)用開發(fā)-DevEco Studio本地模擬器的使用

    使用Local Emulator運行應(yīng)用/服務(wù) DevEco Studio提供的Local Emulator可以運行和調(diào)試Phone、TV和Wearable設(shè)備的HarmonyOS應(yīng)用/服務(wù)。在
    發(fā)表于 11-07 14:21

    DevEco Hvigor高效編譯,構(gòu)建過程新秘籍

    ,DevEco Hvigor可以使用不同的工作線程并行執(zhí)行,提高構(gòu)建效率。在多模塊的中大型工程中,將帶來可觀的耗時節(jié)省。 在DevEco Studio中開啟
    發(fā)表于 10-17 16:54

    HarmonyOS/OpenHarmony原生應(yīng)用開發(fā)-華為Serverless云端服務(wù)支持說明(一)

    者,華為還提供了端云一體化開發(fā)開發(fā)體驗。開發(fā)者可以在DevEco Studio中基于統(tǒng)一的技術(shù)棧,高效
    發(fā)表于 10-08 10:22