国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何使用靜態(tài)呼叫流瀏覽器進行軟件故障排除

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Hari Nagalla ? 2022-06-21 09:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

由于具有射頻連接和微控制器內核的低成本集成片上系統(tǒng)設備的進步,物聯(lián)網IoT) 設備呈指數級增長。

其中許多設備主要基于 Arm? Cortex?-M 架構。隨著硬件的進步,嵌入式軟件在跟上新的連接協(xié)議、協(xié)議棧和框架方面發(fā)揮著重要作用。

然而,連接設備的激增給嵌入式軟件工程師帶來了挑戰(zhàn),尤其是同時在多個設備和框架上工作的應用和維護工程師。

學習新設備軟件、框架和協(xié)議棧的工作方式可能非常耗時,并且會限制工程師快速解決問題的能力。設計文檔和內嵌源代碼注釋會有所幫助,但它們可能不容易訪問,并且可能無法提供代碼工作原理的完整畫面。

在這些情況下,工程師依靠他們的獨創(chuàng)性、足智多謀和使用集成開發(fā)環(huán)境 (IDE) 瀏覽源代碼。雖然這有助于理解軟件代碼流,但這是一個耗時且乏味的過程,但有更好的方法。

在本文中,我將介紹一種使用現(xiàn)有工具鏈實用程序來生成軟件的靜態(tài)函數調用層次結構并更快更好地理解軟件流程的新穎方法。

常見的函數調用跟蹤類型

您可以使用函數調用跟蹤來了解代碼流或識別錯誤。比較成功和失敗場景之間的程序流程(通過函數調用跟蹤)可以幫助您快速識別有問題的代碼區(qū)域以進行進一步檢查。

函數調用跟蹤補充了基于 IDE 的源代碼瀏覽,以更好地了解整個軟件實現(xiàn),并且可以分為兩種常見的類別:

運行時函數調用跟蹤。這是一個侵入性過程,需要檢測源代碼。像 GNU Compiler Collection 這樣的工具鏈提供了放置函數調用的工具,這需要重建代碼以重新生成新的二進制文件,但會導致額外的代碼大小和更長的執(zhí)行時間。對于缺乏內存的資源受限物聯(lián)網設備,運行時函數調用跟蹤可能不是一個可行的選擇。另外,您無法保證插樁代碼的行為與未插樁代碼的行為相同。

靜態(tài)函數調用。對于基于只讀存儲器 (ROM) 的設備,檢測不是一個可行的選擇。盡管您可以簡單地使用 Eclipse 或 Source Insight 等 IDE 瀏覽源代碼以了解軟件實現(xiàn),但這是一個乏味的過程。一些 IDE(通常是昂貴的商業(yè)版本)可以派生靜態(tài)函數調用圖。這些靜態(tài)函數調用瀏覽器通常范圍有限,如果源代碼中有條件編譯,則可能無法提供整個調用流程的準確畫面。

但是,可以從反映實際二進制代碼的二進制可執(zhí)行和可鏈接格式 (ELF) 文件生成靜態(tài)調用流瀏覽器。

使用靜態(tài)呼叫流瀏覽器更快地修復軟件

讓我們使用設備的 ELF 二進制圖像來生成函數調用參考詳細信息。如圖 1 所示,其想法是獲取 ELF 二進制文件并將其傳遞給各種代碼生成工具,例如 TI 的目標文件顯示 (armofd) 和反匯編程序 (armdis),以生成函數列表和調用引用數據庫。生成數據庫后,在簡單的樹形瀏覽器中顯示調用層次結構和流程,以查看函數調用引用。這些靜態(tài)調用流程圖還可以通過將運行時 ROM 代碼消息日志覆蓋在靜態(tài)函數樹的頂部來幫助調試——這種組合將提供對運行時代碼流的洞察并幫助您隔離問題。

pYYBAGKxJT6AYoODAAEz7T7ZjmQ760.png

圖 1:ELF 文件格式

二進制文件 (ELF) 分析

ELF 文件包含程序頭、節(jié)頭以及代碼和數據節(jié)。工具鏈提供了各種工具來檢查和以可讀格式顯示 ELF 二進制文件內容。在 TI,我們使用 armofd 和 armdis 等實用程序名稱來獲取 Arm 反匯編中的功能詳細信息和完整的程序編碼。

pYYBAGKxJUWAVo_jAADO_dMRhsI255.png

圖2:靜態(tài)函數分析流程

解析引擎遍歷反匯編代碼并通過帶有鏈接的分支 (BL) 和帶有鏈接和交換的分支 (BLX) 指令檢查函數調用,找到每個函數的所有調用函數,并填充函數數據庫。數據庫本身排列為 Adelson-Velsky 和 Landis 自平衡搜索樹,用于快速搜索和瀏覽。

編譯器優(yōu)化可能會通過直接分支到被調用函數來扭曲某些函數調用。這些函數沒有任何堆棧分配,因此解析引擎需要足夠智能以檢測這些編譯器優(yōu)化。

功能瀏覽器

稱為 Java 框架 (JFrames) 的簡單圖形用戶界面 (GUI) 界面選擇感興趣的函數以進行函數調用瀏覽。選擇一個函數會顯示兩個框架,一個用于“被調用者/被調用函數”,另一個用于“調用自”函數。這些框架顯示了具有進一步節(jié)點擴展的分層樹結構,如圖 3、4、5 和 6 所示。

瀏覽器圖形用戶界面

函數列表顯示所有可用函數,使您能夠選擇感興趣的函數以瀏覽參考文獻。

poYBAGKxJUyAYFzmAAGXx-TUVYQ613.png

圖 3:功能列表顯示

可以進一步向下導航樹以查看函數調用的可能性。

pYYBAGKxJVSAJmMpAAHSvFCubkc321.png

圖 4:被調用的函數引用

pYYBAGKxJVyAaI2HAACzLirU1Uo364.png

圖 5:從引用中調用

pYYBAGKxJWOAOttZAAIXqLawwTg260.png

圖 6:功能列表 GUI

簡化軟件

通過使用這種方法從二進制圖像中導出靜態(tài)調用流程圖,您現(xiàn)在可以更好地了解軟件功能流程并補充您的源代碼瀏覽,從而更深入地了解軟件實現(xiàn)。最重要的是,這種方法可以加快流程并使故障排除軟件更簡單。

審核編輯:郭婷

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

    關注

    135

    文章

    9553

    瀏覽量

    391893
  • ROM
    ROM
    +關注

    關注

    4

    文章

    579

    瀏覽量

    89077
  • 物聯(lián)網

    關注

    2945

    文章

    47820

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    無需安裝!在瀏覽器里就能玩轉ESP32/ESP8266,這個神器絕了!

    使用教程)ESP32-運行網頁服務(WebServer)-實用篇介紹扔掉繁瑣的桌面軟件,一個瀏覽器搞定所有ESP開發(fā)調試需求溫馨提示私信:ESPConnect即可獲取
    的頭像 發(fā)表于 01-10 10:01 ?855次閱讀
    無需安裝!在<b class='flag-5'>瀏覽器</b>里就能玩轉ESP32/ESP8266,這個神器絕了!

    變頻無規(guī)律過故障問題

    變頻作為現(xiàn)代工業(yè)驅動的核心設備,其過故障的隨機性往往導致產線停機、設備損耗等連鎖反應。本文基于廠商技術文檔及行業(yè)案例分析,系統(tǒng)梳理無規(guī)律過故障
    的頭像 發(fā)表于 01-02 07:40 ?211次閱讀
    變頻<b class='flag-5'>器</b>無規(guī)律過<b class='flag-5'>流</b><b class='flag-5'>故障</b>問題

    鴻蒙手機系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設置?

    鴻蒙手機系統(tǒng)6.0用瀏覽器看視頻,視頻顯示不能橫屏。怎么設置? 如何掂讓這個豎屏切換為橫屏?
    發(fā)表于 12-20 20:10

    Microsoft Edge瀏覽器iOS端插件功能上線

    在最新發(fā)布的 139 版本中,Microsoft Edge 瀏覽器 iOS 端正式支持插件功能!與此同時,Microsoft Edge 安卓端的插件數量已躍升至近 30 款。廣告攔截、雙語翻譯、資源下載……你的手機瀏覽器,也能擁有自定義的「超能力」。
    的頭像 發(fā)表于 08-19 14:29 ?1762次閱讀

    亞馬遜云科技推出Amazon Nova Act SDK預覽版,加速瀏覽器自動化Agent落地

    北京2025年8月5日 /美通社/ --?亞馬遜云科技日前宣布,推出Amazon Nova Act SDK有限預覽版,可快速幫助客戶將基于瀏覽器的Agent從原型部署至生產環(huán)境。該SDK可與亞馬遜云
    的頭像 發(fā)表于 08-06 08:42 ?852次閱讀

    微軟Microsoft Edge瀏覽器構筑立體式安全防線

    在信息爆炸的今天,釣魚網站、詐騙廣告、隱私追蹤層出不窮。Microsoft Edge 瀏覽器為桌面與移動端用戶構筑了立體式安全防線。用七大安全護盾,保護你的上網安全。
    的頭像 發(fā)表于 08-04 15:39 ?1309次閱讀

    連接氣密性檢測儀的故障排除與維護技巧

    連接氣密性檢測儀在電子、汽車、航空等多個領域發(fā)揮著關鍵作用,保障著連接的密封性能。為保證其正常運行和檢測精度,掌握故障排除與維護技巧至關重要。(一)常見
    的頭像 發(fā)表于 06-16 14:00 ?607次閱讀
    連接<b class='flag-5'>器</b>氣密性檢測儀的<b class='flag-5'>故障</b><b class='flag-5'>排除</b>與維護技巧

    ATS失效請求報文問題的故障排除步驟

    本篇文章提供了解決 ATS 失效請求報文問題的故障排除步驟,主要聚焦在 CQ 接口上未顯示主機發(fā)送的報文的情況。
    的頭像 發(fā)表于 06-09 15:17 ?1650次閱讀
    ATS失效請求報文問題的<b class='flag-5'>故障</b><b class='flag-5'>排除</b>步驟

    老電視如何安裝瀏覽器

    2017年購買的夏普老電視,1.5G+8G存儲,網上下的瀏覽器APK文件在電視內打開就彈出“解析程序包出現(xiàn)問題”。 未知來源選項已打開,存儲空間清空到只剩下三個應用(只占用300M左右),基本可
    發(fā)表于 06-01 18:57

    虹科免拆案例 | 車輛行駛中急加速車身抖動故障排除 2 例

    車輛行駛中急加速車身抖動故障排除2例余姚東江名車專修廠葉正祥案例12017款豐田卡羅拉車行駛中急加速車身偶爾抖動故障現(xiàn)象故障診斷故障
    的頭像 發(fā)表于 05-07 11:32 ?616次閱讀
    虹科免拆案例 | 車輛行駛中急加速車身抖動<b class='flag-5'>故障</b><b class='flag-5'>排除</b> 2 例

    淺談電磁流量計的常見故障排除方法

    電磁流量計作為常用的流量測量儀表,在使用過程中可能會遇到各種故障。以下是對電磁流量計常見故障排除方法的淺談: 一、儀表顯示最小或無顯示 當電磁流量計顯示最小或無顯示時,通常意味著傳感
    的頭像 發(fā)表于 04-20 17:56 ?1974次閱讀

    西門子S120變頻故障及報警信息的讀取

    西門子S120變頻故障及報警信息的讀取,通常可以通過以下幾種方式進行: 一、通過Web網頁查看 1. 硬件連接:將PC機的以太網口與S120的X127調試端口連接。 2. 打開瀏覽器
    的頭像 發(fā)表于 03-27 07:37 ?5121次閱讀
    西門子S120變頻<b class='flag-5'>器</b><b class='flag-5'>故障</b>及報警信息的讀取

    變頻故障的種類及解決策略

    變頻的過故障類型可按電流狀態(tài)分類、運行狀態(tài)分類等。解決變頻故障需要從多個方面
    的頭像 發(fā)表于 03-27 07:37 ?2748次閱讀
    變頻<b class='flag-5'>器</b>過<b class='flag-5'>流</b><b class='flag-5'>故障</b>的種類及解決策略

    edge瀏覽器識別 latex語法插件

    默認的瀏覽器是沒有l(wèi)atex識別功能的,容易顯示為亂碼或者源碼,無法正常識別。本插件需要在瀏覽器的擴展程序菜單下安裝,能在edge下完美運行。本插件是免費插件。
    發(fā)表于 03-17 18:03 ?1次下載

    變頻(oc)類故障原因分析及處理

    變頻(OC)故障是工業(yè)控制中常見且影響嚴重的故障之一。當變頻檢測到輸出電流超過設定閾值時,會觸發(fā)保護機制,導致變頻
    的頭像 發(fā)表于 03-16 17:15 ?4677次閱讀