日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

常見的函數(shù)調(diào)用跟蹤類型

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

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

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

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

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

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

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

pYYBAGKxJT6AYoODAAEz7T7ZjmQ760.png

圖 1:ELF 文件格式

二進(jìn)制文件 (ELF) 分析

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

pYYBAGKxJUWAVo_jAADO_dMRhsI255.png

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

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

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

功能瀏覽器

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

瀏覽器圖形用戶界面

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

poYBAGKxJUyAYFzmAAGXx-TUVYQ613.png

圖 3:功能列表顯示

可以進(jìn)一步向下導(dǎo)航樹以查看函數(shù)調(diào)用的可能性。

pYYBAGKxJVSAJmMpAAHSvFCubkc321.png

圖 4:被調(diào)用的函數(shù)引用

pYYBAGKxJVyAaI2HAACzLirU1Uo364.png

圖 5:從引用中調(diào)用

pYYBAGKxJWOAOttZAAIXqLawwTg260.png

圖 6:功能列表 GUI

簡(jiǎn)化軟件

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

審核編輯:郭婷

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

    關(guān)注

    135

    文章

    9589

    瀏覽量

    393810
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    579

    瀏覽量

    89404
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2950

    文章

    48147

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    瑞芯微(EASY EAI)RV1126B 安裝瀏覽器

    1.概要安裝瀏覽器,前提是需要把桌面系統(tǒng)給裝起來。安裝桌面系統(tǒng)的具體操作,可以參考此文《應(yīng)用筆記/安裝桌面系統(tǒng)》。2.安裝步驟2.1環(huán)境準(zhǔn)備通過串口調(diào)試進(jìn)入板卡后臺(tái),并且確保板卡可以聯(lián)網(wǎng)(接入互聯(lián)網(wǎng)
    的頭像 發(fā)表于 04-24 14:47 ?767次閱讀
    瑞芯微(EASY EAI)RV1126B 安裝<b class='flag-5'>瀏覽器</b>

    通過變頻靜態(tài)測(cè)試結(jié)果及顯示來判斷故障點(diǎn)

    通過變頻靜態(tài)測(cè)試 (即斷電狀態(tài)下,使用萬用表對(duì)主電路進(jìn)行測(cè)量)結(jié)合 上電后的顯示與報(bào)警信息 ,是判斷變頻故障點(diǎn)的最核心、最安全的手段
    的頭像 發(fā)表于 04-02 07:12 ?446次閱讀
    通過變頻<b class='flag-5'>器</b>的<b class='flag-5'>靜態(tài)</b>測(cè)試結(jié)果及顯示來判斷<b class='flag-5'>故障</b>點(diǎn)

    變頻故障排除及維修

    變頻故障排除及維修
    發(fā)表于 03-30 16:34 ?0次下載

    VF2 Debian image 69 Web 瀏覽器失敗,怎么修復(fù)?

    只需啟動(dòng)并運(yùn)行圖像 69。 $ ip 一個(gè) 顯示互聯(lián)網(wǎng)連接已建立良好。 單擊以運(yùn)行默認(rèn)的Web瀏覽器時(shí),會(huì)彈出一條錯(cuò)誤消息。 “無法執(zhí)行默認(rèn) Web 瀏覽器?!?輸入/輸出錯(cuò)誤。 有什么提示需要修復(fù)嗎?
    發(fā)表于 03-24 06:54

    無需安裝!在瀏覽器里就能玩轉(zhuǎn)ESP32/ESP8266,這個(gè)神器絕了!

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

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

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

    電路故障排除的方法有哪些

    牢靠,并使用萬用表檢查通斷。 4、開路法 在并聯(lián)電路中,對(duì)于電路中短路型故障,可以有選擇性的斷開分支電路,然后再逐級(jí)查找故障點(diǎn)。 5、代換法 對(duì)電路中損壞的電氣元件、電路板等進(jìn)行更換。
    發(fā)表于 12-26 08:35

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

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

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

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

    亞馬遜云科技推出Amazon Nova Act SDK預(yù)覽版,加速瀏覽器自動(dòng)化Agent落地

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

    微軟Microsoft Edge瀏覽器構(gòu)筑立體式安全防線

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

    連接氣密性檢測(cè)儀的故障排除與維護(hù)技巧

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

    ATS失效請(qǐng)求報(bào)文問題的故障排除步驟

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

    老電視如何安裝瀏覽器?

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

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

    車輛行駛中急加速車身抖動(dòng)故障排除2例余姚東江名車專修廠葉正祥案例12017款豐田卡羅拉車行駛中急加速車身偶爾抖動(dòng)故障現(xiàn)象故障診斷故障
    的頭像 發(fā)表于 05-07 11:32 ?757次閱讀
    虹科免拆案例 | 車輛行駛中急加速車身抖動(dòng)<b class='flag-5'>故障</b><b class='flag-5'>排除</b> 2 例
    无锡市| 宁安市| 治多县| 类乌齐县| 云霄县| 金坛市| 清徐县| 铜川市| 安阳市| 贡嘎县| 宁化县| 同仁县| 芜湖市| 雷州市| 广灵县| 河源市| 沧源| 茂名市| 龙山县| 综艺| 泉州市| 鲁山县| 古蔺县| 达拉特旗| 许昌县| 霍州市| 酉阳| 喀什市| 西昌市| 平度市| 新邵县| 齐齐哈尔市| 珲春市| 女性| 石泉县| 南投县| 镇江市| 华蓥市| 阜新| 扬州市| 荣成市|