一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

HarmonyOS開發(fā)者 ? 來源:HarmonyOS開發(fā)者 ? 作者:HarmonyOS開發(fā)者 ? 2021-12-17 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者: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ù)更加智能、體驗更加順暢、數(shù)據(jù)更加安全。

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

運行態(tài)內(nèi)存緊缺,系統(tǒng)各任務(wù)棧大小無法設(shè)置。

性能瓶頸無法定位,不能針對性的進行優(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)存檢測工具將盡快上線,具體上線時間待官方通知。

1. 鏡像分析工具

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

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

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

54b1b602-5a8f-11ec-b2e9-dac502259ad0.png

圖1 Memory Regions

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

54e648ae-5a8f-11ec-b2e9-dac502259ad0.png

圖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. 棧估算分析工具

棧估算分析工具,主要解決“運行態(tài)內(nèi)存緊缺情況下系統(tǒng)各任務(wù)棧的設(shè)置”。通過遍歷反匯編文件,計算函數(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)系進行展示。

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

55295914-5a8f-11ec-b2e9-dac502259ad0.png

圖3 Function List

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

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

3. 性能分析工具

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

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

硬件PMU事件:如cycle,cache等。

軟件打點采樣:如中斷、內(nèi)存申請等。

高精度周期事件:即按固定周期采樣,精度us級。支持熱點函數(shù)及熱點路徑的查看。

5565ac0c-5a8f-11ec-b2e9-dac502259ad0.png

圖4 性能分析工具界面

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

4. 可視化Trace工具

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

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

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

55b0d380-5a8f-11ec-b2e9-dac502259ad0.png

圖5 時間信息視圖

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

56005748-5a8f-11ec-b2e9-dac502259ad0.png

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

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

563626fc-5a8f-11ec-b2e9-dac502259ad0.png

圖7 CPU負載視圖

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

56815046-5a8f-11ec-b2e9-dac502259ad0.png

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

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

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

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

56b66efc-5a8f-11ec-b2e9-dac502259ad0.png

圖9 定位到出錯的代碼行號

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

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

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

文章出處:【微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    2931

    文章

    46243

    瀏覽量

    392447
  • 智能硬件
    +關(guān)注

    關(guān)注

    205

    文章

    2387

    瀏覽量

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

    關(guān)注

    60

    文章

    2620

    瀏覽量

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

    關(guān)注

    0

    文章

    29

    瀏覽量

    598

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

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Nginx在企業(yè)環(huán)境中的調(diào)優(yōu)策略

    Nginx作為現(xiàn)代互聯(lián)網(wǎng)架構(gòu)中最重要的Web服務(wù)器和反向代理服務(wù)器,其性能調(diào)優(yōu)對企業(yè)級應(yīng)用的穩(wěn)定性和效率至關(guān)重要。本指南將從運維實踐角度出發(fā),詳細介紹Nginx在企業(yè)環(huán)境中的各種調(diào)優(yōu)
    的頭像 發(fā)表于 07-14 11:13 ?106次閱讀

    xgboost超參數(shù)調(diào)優(yōu)技巧 xgboost在圖像分類中的應(yīng)用

    一、XGBoost超參數(shù)調(diào)優(yōu)技巧 XGBoost(eXtreme Gradient Boosting)是一種基于梯度提升決策樹(GBDT)的高效梯度提升框架,在機器學(xué)習(xí)競賽和實際業(yè)務(wù)應(yīng)用中取得了卓越
    的頭像 發(fā)表于 01-31 15:16 ?1235次閱讀

    MCF8316A調(diào)優(yōu)指南

    電子發(fā)燒友網(wǎng)站提供《MCF8316A調(diào)優(yōu)指南.pdf》資料免費下載
    發(fā)表于 11-20 17:21 ?2次下載
    MCF8316A<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>指南

    MCT8316A調(diào)優(yōu)指南

    電子發(fā)燒友網(wǎng)站提供《MCT8316A調(diào)優(yōu)指南.pdf》資料免費下載
    發(fā)表于 11-13 13:49 ?0次下載
    MCT8316A<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>指南

    MCT8315A調(diào)優(yōu)指南

    電子發(fā)燒友網(wǎng)站提供《MCT8315A調(diào)優(yōu)指南.pdf》資料免費下載
    發(fā)表于 11-12 14:14 ?1次下載
    MCT8315A<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>指南

    鴻蒙Flutter實戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實戰(zhàn):01-搭建開發(fā)環(huán)境](https://gitee.com/zacks
    發(fā)表于 10-23 16:29

    MMC DLL調(diào)優(yōu)

    電子發(fā)燒友網(wǎng)站提供《MMC DLL調(diào)優(yōu).pdf》資料免費下載
    發(fā)表于 10-11 11:48 ?0次下載
    MMC DLL<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>

    TDA3xx ISS調(diào)優(yōu)調(diào)試基礎(chǔ)設(shè)施

    電子發(fā)燒友網(wǎng)站提供《TDA3xx ISS調(diào)優(yōu)調(diào)試基礎(chǔ)設(shè)施.pdf》資料免費下載
    發(fā)表于 10-11 10:16 ?0次下載
    TDA3xx ISS<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>和<b class='flag-5'>調(diào)試</b>基礎(chǔ)設(shè)施

    大數(shù)據(jù)從業(yè)者必知必會的Hive SQL調(diào)優(yōu)技巧

    大數(shù)據(jù)從業(yè)者必知必會的Hive SQL調(diào)優(yōu)技巧 摘要 :在大數(shù)據(jù)領(lǐng)域中,Hive SQL被廣泛應(yīng)用于數(shù)據(jù)倉庫的數(shù)據(jù)查詢和分析。然而,由于數(shù)據(jù)量龐大和復(fù)雜的查詢需求,Hive SQL查詢的性能往往
    的頭像 發(fā)表于 09-24 13:30 ?698次閱讀

    智能調(diào)優(yōu),使步進電機安靜而高效地運行

    電子發(fā)燒友網(wǎng)站提供《智能調(diào)優(yōu),使步進電機安靜而高效地運行.pdf》資料免費下載
    發(fā)表于 09-24 11:08 ?1次下載
    智能<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>,使步進電機安靜而高效地運行

    MMC SW調(diào)優(yōu)算法

    電子發(fā)燒友網(wǎng)站提供《MMC SW調(diào)優(yōu)算法.pdf》資料免費下載
    發(fā)表于 09-20 11:14 ?0次下載
    MMC SW<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>算法

    如何調(diào)優(yōu)DS160PR410實現(xiàn)出色的信號完整性

    電子發(fā)燒友網(wǎng)站提供《如何調(diào)優(yōu)DS160PR410實現(xiàn)出色的信號完整性.pdf》資料免費下載
    發(fā)表于 09-20 09:39 ?6次下載
    如何<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>DS160PR410實現(xiàn)出色的信號完整性

    TAS58xx系列通用調(diào)優(yōu)指南

    電子發(fā)燒友網(wǎng)站提供《TAS58xx系列通用調(diào)優(yōu)指南.pdf》資料免費下載
    發(fā)表于 09-14 10:49 ?1次下載
    TAS58xx系列通用<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>指南

    AM6xA ISP調(diào)優(yōu)指南

    電子發(fā)燒友網(wǎng)站提供《AM6xA ISP調(diào)優(yōu)指南.pdf》資料免費下載
    發(fā)表于 09-07 09:52 ?0次下載
    AM6xA ISP<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>指南

    OSPI控制器PHY調(diào)優(yōu)算法

    電子發(fā)燒友網(wǎng)站提供《OSPI控制器PHY調(diào)優(yōu)算法.pdf》資料免費下載
    發(fā)表于 08-30 11:12 ?0次下載
    OSPI控制器PHY<b class='flag-5'>調(diào)</b><b class='flag-5'>優(yōu)</b>算法