RM新时代网站-首页

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

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

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

鴻蒙智聯(lián)設(shè)備開發(fā),這五大法寶你應(yīng)該擁有

物聯(lián)網(wǎng)星球 ? 2021-12-08 16:32 ? 次閱讀

作者:zhaowenguang,dinglu, 華為高級工程師


Huawei LiteOS是輕量級的開源物聯(lián)網(wǎng)操作系統(tǒng)、智能硬件使能平臺,可廣泛應(yīng)用于智能家居、穿戴式、車聯(lián)網(wǎng)、制造業(yè)等領(lǐng)域,使物聯(lián)網(wǎng)終端開發(fā)更簡單、互聯(lián)更加容易、業(yè)務(wù)更加智能、體驗(yàn)更加順暢、數(shù)據(jù)更加安全。

它具有入門簡單、開發(fā)便捷,輕量級、低功耗、廣聯(lián)接,生態(tài)體系完善等優(yōu)點(diǎn)。提供了若干高效硬件維測能力,通過集成到DevEco Device Tool中,形成了可供開發(fā)者使用的調(diào)試調(diào)優(yōu)工具,助力開發(fā)者在鴻蒙智聯(lián)設(shè)備調(diào)試調(diào)優(yōu)過程中更加精準(zhǔn)的分析、定位問題。

接下來,我們將重點(diǎn)介紹DevEco Device Tool中集成的一系列調(diào)試調(diào)優(yōu)工具。

一、鴻蒙智聯(lián)設(shè)備調(diào)試調(diào)優(yōu)面臨的挑戰(zhàn)

開發(fā)者在鴻蒙智聯(lián)設(shè)備調(diào)試調(diào)優(yōu)過程中面臨如下挑戰(zhàn):

  • 系統(tǒng)鏡像文件太大,分析和優(yōu)化難度較大。
  • 運(yùn)行態(tài)內(nèi)存緊缺,系統(tǒng)各任務(wù)棧大小無法設(shè)置。
  • 性能瓶頸無法定位,不能針對性的進(jìn)行優(yōu)化。
  • 僅僅靠添加打印和人工分析日志來定位問題效率低下。
  • 內(nèi)存問題最難定位,缺少檢測工具。

如何應(yīng)對這些挑戰(zhàn),讓開發(fā)者能高效且準(zhǔn)確的完成鴻蒙智聯(lián)設(shè)備調(diào)試調(diào)優(yōu)?

二、高效調(diào)試調(diào)優(yōu)五大法寶


針對以上挑戰(zhàn),HUAWEI DevEco Device Tool版本中提供了鴻蒙智聯(lián)設(shè)備調(diào)試調(diào)優(yōu)五大法寶:鏡像分析工具、棧估算分析工具、性能分析工具、可視化Trace工具、輕量級內(nèi)存檢測工具,下面我們將逐一介紹。

注:鏡像分析工具和棧估算分析工具已集成于HUAWEI DevEco Device Tool 3.0 Beta1版本中,目前只支持GCC編譯的鏡像,Clang暫不支持。性能分析工具、可視化Trace工具及輕量級內(nèi)存檢測工具將盡快上線,具體上線時(shí)間待官方通知。


1. 鏡像分析工具

鏡像分析工具,主要解決“資源受限情況下鏡像的分析及優(yōu)化”。通過對編譯生成的map文件進(jìn)行內(nèi)存占用分析,獲取鏡像中各模塊對ROM、RAM的占用大小。


該工具支持查看內(nèi)存區(qū)域總覽、內(nèi)存詳細(xì)信息、文件大小及模塊大小。同時(shí)支持一些統(tǒng)計(jì)功能,包括排序、過濾、導(dǎo)出表格等操作以及按文件或模塊篩選查看的功能。鏡像分析結(jié)果按照內(nèi)存區(qū)域、詳細(xì)信息、文件大小和模塊大小4個(gè)界面進(jìn)行展示。

  • Memory Regions:內(nèi)存區(qū)域界面以表格的形式展示了每個(gè)區(qū)域的內(nèi)存使用情況。如圖1所示,Memory Regions包含了起始地址、結(jié)束地址、大小、可用內(nèi)存以及內(nèi)存占用。

圖1 Memory Regions

  • Memory Details:內(nèi)存詳細(xì)信息里顯示了Section和Symbol的信息。如圖2所示,Memory Details通過樹狀表格展示層級關(guān)系、名稱、VMA、LMA以及Size

圖2 Memory Details

  • File Size:文件大小里展示了.a文件和.o文件的層級關(guān)系以及不同section的內(nèi)存占用。
  • Module Size:模塊大小里展示了模塊和組件的層級關(guān)系以及不同section的內(nèi)存占用。


使用該工具可幫助開發(fā)者快速評估并優(yōu)化鏡像的ROM、RAM使用情況。

2. 棧估算分析工具

棧估算分析工具,主要解決“運(yùn)行態(tài)內(nèi)存緊缺情況下系統(tǒng)各任務(wù)棧的設(shè)置”。通過遍歷反匯編文件,計(jì)算函數(shù)的局部棧開銷并分析函數(shù)之間的調(diào)用關(guān)系,從而估算出任務(wù)的棧大小,為棧溢出分析、??臻g優(yōu)化提供基礎(chǔ)的數(shù)據(jù)參考。


該工具提供函數(shù)調(diào)用關(guān)系圖、函數(shù)總的最大棧開銷、內(nèi)部開銷,并提供展示函數(shù)所在具體位置。棧分析結(jié)果按照函數(shù)列表和調(diào)用關(guān)系進(jìn)行展示。

  • Function List:函數(shù)列表界面顯示每個(gè)函數(shù)的函數(shù)名稱和函數(shù)內(nèi)部棧開銷,如圖3所示。

圖3 Function List


  • Call Graph:調(diào)用關(guān)系界面顯示每個(gè)函數(shù)的調(diào)用關(guān)系,包括函數(shù)名稱、調(diào)用深度、函數(shù)最大棧開銷。


使用該工具可幫助開發(fā)者減少爆棧風(fēng)險(xiǎn),節(jié)省內(nèi)存優(yōu)化??臻g。

3. 性能分析工具

性能分析工具,主要解決“性能瓶頸的定位及優(yōu)化”?;谑录蓸咏y(tǒng)計(jì)的原理,實(shí)現(xiàn)熱點(diǎn)函數(shù)、熱點(diǎn)路徑的分析,助力識別性能瓶頸。


該工具提供計(jì)數(shù)模式及采樣模式兩種工作模式,采集事件發(fā)生的次數(shù)及執(zhí)行時(shí)間以及上下文如PC,回溯棧等,用于解析出熱點(diǎn)函數(shù)與熱點(diǎn)路徑等信息。同時(shí),該工具還支持3種類型的采樣事件:

  • 硬件PMU事件:如cycle,cache等。
  • 軟件打點(diǎn)采樣:如中斷、內(nèi)存申請等。
  • 高精度周期事件:即按固定周期采樣,精度us級。支持熱點(diǎn)函數(shù)及熱點(diǎn)路徑的查看。

圖4 性能分析工具界面

使用該工具可幫助開發(fā)者快速有效識別性能瓶頸,輔助系統(tǒng)性能優(yōu)化。

4. 可視化Trace工具

可視化Trace工具,主要解決“程序運(yùn)行不符合預(yù)期情況下的問題定位”。通過采用靜態(tài)代碼樁和緩沖區(qū)記錄的方式,在樁被執(zhí)行時(shí),獲取事件發(fā)生的上下文、系統(tǒng)任務(wù)等信息,并記錄到緩沖區(qū),幫助開發(fā)者了解何時(shí)何處發(fā)生的什么事件。


該工具以圖形界面展示事件詳情、CPU占比、內(nèi)存趨勢圖、任務(wù)切換軌跡等信息。下面是Trace 可視化的4個(gè)界面:

  • 事件信息視圖:如圖5所示。使用自然語言解釋系統(tǒng)何時(shí)(時(shí)間戳)何處(在哪個(gè)CPU的那個(gè)任務(wù)中)發(fā)生的具體事件。

圖5 時(shí)間信息視圖

  • 任務(wù)軌跡視圖:如圖6所示。以系統(tǒng)時(shí)間為縱坐標(biāo),展示任務(wù)切換的軌跡,如圖,不同顏色表示不同的任務(wù),不同色塊的遷移對應(yīng)一次任務(wù)切換,點(diǎn)擊色塊會(huì)顯示導(dǎo)致任務(wù)切換的原因,色塊的長度對應(yīng)其運(yùn)行的時(shí)長。

圖6 任務(wù)軌跡視圖



  • CPU負(fù)載視圖:如圖7所示。統(tǒng)計(jì)任意時(shí)間段內(nèi)的任務(wù)執(zhí)行cpu占比,不同顏色對應(yīng)不同的任務(wù)。

圖7 CPU負(fù)載視圖


  • 內(nèi)存監(jiān)控視圖:如圖8所示。以系統(tǒng)時(shí)間為橫坐標(biāo),展示隨時(shí)間變化的系統(tǒng)內(nèi)存使用情況。

圖8 內(nèi)存監(jiān)控視圖

使用該工具可幫助開發(fā)者清晰的了解系統(tǒng)運(yùn)行的軌跡,更好的理解系統(tǒng)、輔助定位死機(jī)死鎖問題。

5. 輕量級內(nèi)存檢測工具

輕量級內(nèi)存檢測工具,主要解決“一鍵定位內(nèi)存問題”。該工具基于影子內(nèi)存映射和標(biāo)記的原理,可快速解決內(nèi)存越界訪問、釋放后訪問、多重釋放等疑難雜癥,并且在檢測到錯(cuò)誤后實(shí)時(shí)打印回溯棧。如圖9所示,輕量級內(nèi)存檢測工具結(jié)合backtrace,快速一鍵式定位問題代碼段。

圖9 定位到出錯(cuò)的代碼行號

使用該工具可幫助開發(fā)者根據(jù)回溯棧一鍵定位到出錯(cuò)的代碼行號。

以上就是本期全部內(nèi)容,相信五大法寶定能讓你在鴻蒙智聯(lián)設(shè)備開發(fā)的道路上披荊斬棘,趕快點(diǎn)擊下方鏈接下載試用吧!

HUAWEI DevEco Device Tool 3.0 Beta1下載鏈接:

https://device.harmonyos.com/cn/develop/ide#download_beta

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

    關(guān)注

    183

    文章

    2634

    瀏覽量

    66302
  • 鴻蒙智聯(lián)
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    450
收藏 人收藏

    評論

    相關(guān)推薦

    改造數(shù)據(jù)中心需要遵循五大規(guī)則

    在數(shù)據(jù)中心改造過程中,數(shù)據(jù)存儲問題可能是最艱巨的障礙,以下關(guān)于實(shí)現(xiàn)數(shù)據(jù)中心的改造的五大規(guī)則,可能會(huì)對您有所啟發(fā)。 ? 1.使存儲虛擬化更容易 為了實(shí)現(xiàn)數(shù)據(jù)中心的改造,首先實(shí)現(xiàn)存儲虛擬化。但是,這項(xiàng)
    的頭像 發(fā)表于 10-31 11:02 ?140次閱讀

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)

    運(yùn)行鴻蒙4.1系統(tǒng),意味著擁有更加流暢、高效的開發(fā)體驗(yàn)。從硬件到軟件,從底層到應(yīng)用,一切都變得觸手可及! 那么,如何快速上手呢?別擔(dān)心,我們已經(jīng)為
    發(fā)表于 07-23 10:44

    聚徽觸控-工控主板的五大優(yōu)勢分別是什么

    工控主板的五大優(yōu)勢主要如下:
    的頭像 發(fā)表于 07-17 09:58 ?319次閱讀

    鴻蒙開發(fā)就業(yè)前景到底怎么樣?

    增長: 隨著鴻蒙系統(tǒng)的不斷推廣和應(yīng)用,從智能手機(jī)、智能家居到智能交通、智慧城市等領(lǐng)域, 鴻蒙系統(tǒng)的應(yīng)用場景越來越廣泛。導(dǎo)致了市場對于鴻蒙應(yīng)用程序的需求持續(xù)增長 ,需要更多的
    發(fā)表于 05-09 17:37

    關(guān)于氣密性檢測儀的五大優(yōu)勢,get到了嗎

    在現(xiàn)代工業(yè)生產(chǎn)中,產(chǎn)品的氣密性檢測已經(jīng)成為一個(gè)關(guān)鍵步驟。為了保證產(chǎn)品的質(zhì)量和性能,密封操作尤為關(guān)鍵。氣密性檢測儀作為一種專業(yè)的檢測儀器,其五大優(yōu)勢在許多行業(yè)得到了廣泛的應(yīng)用。接下來,讓我們揭示它的五大優(yōu)勢。
    的頭像 發(fā)表于 04-09 14:30 ?371次閱讀
    關(guān)于氣密性檢測儀的<b class='flag-5'>五大</b>優(yōu)勢,<b class='flag-5'>你</b>get到了嗎

    人才儲備再升級!軟通動(dòng)力子公司鴻湖萬聯(lián)多名講師榮獲首批“鴻蒙原生應(yīng)用開發(fā)培訓(xùn)講師”認(rèn)證

    近日,由鴻蒙生態(tài)服務(wù)公司組織開展的國內(nèi)首批“鴻蒙原生應(yīng)用開發(fā)培訓(xùn)講師”認(rèn)證順利完成。作為此次認(rèn)證的重要參與者,鴻湖萬聯(lián)申報(bào)的四位鴻蒙資深專家
    的頭像 發(fā)表于 03-25 10:25 ?615次閱讀
    人才儲備再升級!軟通動(dòng)力子公司鴻湖萬<b class='flag-5'>聯(lián)</b>多名講師榮獲首批“<b class='flag-5'>鴻蒙</b>原生應(yīng)用<b class='flag-5'>開發(fā)</b>培訓(xùn)講師”認(rèn)證

    軟通動(dòng)力子公司鴻湖萬聯(lián)多名講師榮獲首批“鴻蒙原生應(yīng)用開發(fā)培訓(xùn)講師”認(rèn)證

    近日,由鴻蒙生態(tài)服務(wù)公司組織開展的國內(nèi)首批“鴻蒙原生應(yīng)用開發(fā)培訓(xùn)講師”認(rèn)證順利完成。作為此次認(rèn)證的重要參與者,鴻湖萬聯(lián)申報(bào)的四位鴻蒙資深專家
    的頭像 發(fā)表于 03-25 09:24 ?440次閱讀

    軟通動(dòng)力榮獲“鴻蒙聯(lián)卓越解決方案伙伴”

    近日,2024 HarmonyOS Connect伙伴峰會(huì)在上海隆重舉行。本次峰會(huì)匯聚了眾多鴻蒙生態(tài)的合作伙伴與開發(fā)者,共同探討鴻蒙聯(lián)的未來發(fā)展與創(chuàng)新路徑。作為首批HarmonyOS
    的頭像 發(fā)表于 03-14 09:37 ?407次閱讀

    恒流電路設(shè)計(jì)的三大法寶,讓的硬件開發(fā)更高效

    恒流電路設(shè)計(jì)的三大法寶,讓的硬件開發(fā)更高效 作為硬件研發(fā)工程師相信對恒流電路不會(huì)陌生,本文介紹下三種恒流電路的原理圖。 三極管恒流電路 三極管恒流電路 三極管的恒流電路,主要是利用Q2三極管的基級
    發(fā)表于 03-12 09:19

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

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

    鴻蒙開發(fā)設(shè)備開發(fā)基礎(chǔ)知識】

    鴻蒙開發(fā)基礎(chǔ)知識講解
    的頭像 發(fā)表于 01-29 18:44 ?1012次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</b>【<b class='flag-5'>設(shè)備</b><b class='flag-5'>開發(fā)</b>基礎(chǔ)知識】

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請

    華為宣布HarmonyOS NEXT鴻蒙星河版開發(fā)者預(yù)覽面向開發(fā)者開放申請,意味著鴻蒙生態(tài)進(jìn)入第二階段,將加速千行百業(yè)的應(yīng)用
    的頭像 發(fā)表于 01-29 16:42 ?1409次閱讀
    華為宣布HarmonyOS NEXT<b class='flag-5'>鴻蒙</b>星河版<b class='flag-5'>開發(fā)</b>者預(yù)覽面向<b class='flag-5'>開發(fā)</b>者開放申請

    多家頭部企業(yè)宣布「啟動(dòng)鴻蒙原生應(yīng)用開發(fā)」,看好鴻蒙系統(tǒng)走向「獨(dú)立」嗎?

    鴻蒙生態(tài)迎「關(guān)鍵一戰(zhàn)」,多家頭部企業(yè)宣布「啟動(dòng)鴻蒙原生應(yīng)用開發(fā)」,看好鴻蒙系統(tǒng)走向「獨(dú)立」嗎?
    的頭像 發(fā)表于 01-24 11:47 ?558次閱讀
    多家頭部企業(yè)宣布「啟動(dòng)<b class='flag-5'>鴻蒙</b>原生應(yīng)用<b class='flag-5'>開發(fā)</b>」,<b class='flag-5'>你</b>看好<b class='flag-5'>鴻蒙</b>系統(tǒng)走向「獨(dú)立」嗎?

    電機(jī)的五大啟動(dòng)方式

    自動(dòng)化小白必學(xué)!電機(jī)的五大啟動(dòng)方式
    的頭像 發(fā)表于 01-09 10:39 ?879次閱讀
    電機(jī)的<b class='flag-5'>五大</b>啟動(dòng)方式

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

    《開心消消樂》已經(jīng)完成鴻蒙原生應(yīng)用開發(fā),樂元素成為率先完成鴻蒙原生應(yīng)用開發(fā)的 20+游戲廠商之一。作為一款經(jīng)典游戲,《開心消消樂》已經(jīng)擁有
    發(fā)表于 01-03 10:22
    RM新时代网站-首页