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

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

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

軟件調(diào)試和硬件調(diào)試具體操作方式上的差別

射頻美學(xué) ? 來源:硬件十萬個(gè)為什么 ? 作者:許雪松 ? 2022-11-04 09:46 ? 次閱讀

軟件調(diào)試和硬件調(diào)試都是調(diào)試,思路差不多,一些具體操作方式上有所差別。這是我在工作中總結(jié)的一些認(rèn)識:

1.調(diào)試總的指導(dǎo)思想是,任何一個(gè)實(shí)驗(yàn)應(yīng)該唯一說明一個(gè)問題。成功了,唯一的結(jié)論是推論是成功的;失敗了,唯一的結(jié)論是推論是失敗的。這都是帶有唯一性的。實(shí)際操作中可能并不好做到,但其中的一個(gè)唯一應(yīng)該是可以做到的。

2.由于軟件硬件的耦合,雜散參數(shù)的影響。根本問題一樣,可能現(xiàn)象每次發(fā)生都不一樣。大膽的假設(shè),仔細(xì)的求證是調(diào)試中是可以依托的一個(gè)大法寶。

3.經(jīng)驗(yàn)總得來說,是一種實(shí)踐過程中的總結(jié)和記憶。一般來講,經(jīng)驗(yàn)往往帶有不精確性和一些大前提。在下一個(gè)項(xiàng)目或調(diào)試中應(yīng)用這些經(jīng)驗(yàn),要確認(rèn)這些不精確性和前提。如同定理一樣,說三角形內(nèi)角和是180度,在歐氏幾何里是正確的,在曲面幾何里就不正確了。所以,定理公理都是有應(yīng)用前提,經(jīng)驗(yàn)也逃脫不了這些問題。

一次和朋友去吃飯,他講了個(gè)生動的例子:老婆和別人打八十分。那個(gè)算得精啊,每張牌都記住了算到了,準(zhǔn)備把手里的一對AA,KK給出了。拖拉機(jī)啊。出去了就被別人給滅了,原來她還以為在打兩幅牌的,他們在打得是三幅牌的……
也是夠悲催的。

4.要對調(diào)試的系統(tǒng)的原理比較熟悉。不熟悉是不行的,考慮問題很可能就沒有邊界和方向。這也懷疑那也懷疑,變成了什么都懷疑,迷失了方向,面也太大了,不利于問題的解決。

5.現(xiàn)象的分析。解決問題都是從現(xiàn)象入手,現(xiàn)象要分清楚主次。結(jié)合設(shè)計(jì)的原理,分析出現(xiàn)象之間的關(guān)系,抓主要矛盾。次要現(xiàn)象很可能在主要現(xiàn)象解決后,伴隨著一起消失。

6.縮小包圍圈。有時(shí)候問題過于復(fù)雜,現(xiàn)象五花八門,可考慮剝洋蔥的辦法。試探性的去逼近核心問題。比如說,一個(gè)溢出錯(cuò)誤,很可能產(chǎn)生一系列的連鎖反應(yīng)。也并不是一定會出現(xiàn)??稍囂叫缘脑龃缶彌_區(qū),調(diào)整棧,看看有沒有緩解;或者縮小緩沖區(qū)和棧,試探性看看程序的反應(yīng)。對問題的現(xiàn)象做到心中有數(shù)。

7.對比法,在遇到一些復(fù)雜的問題的時(shí)候,不能解決。若有參照物,也可以定位問題。但對比法要注意一點(diǎn),只有條件相同或相近的情況下,系統(tǒng)結(jié)構(gòu)相同或相近下才有意義。否則比較會大大的降低可比性以及結(jié)果的意義。比如說一個(gè)軟件模塊或硬件模塊,在其他系統(tǒng)上正常,在本系統(tǒng)上不正常??赏茰y為使用的問題。輸入?yún)?shù)、輸出參數(shù),動態(tài)運(yùn)行的條件不滿足。

9.置換法,這個(gè)比較簡單,一個(gè)一個(gè)換,換到有問題的那個(gè),問題解決了,自然也就定位問題的所在點(diǎn)了。也可以把目標(biāo)系統(tǒng)的模塊置換到正確的系統(tǒng)上,看看能不能正常工作。

10.分治法,分治法是分而治之,各個(gè)擊破的方法?,F(xiàn)象很多,按照原理將現(xiàn)象分類。相關(guān)聯(lián)的現(xiàn)象可作為一組,綜合考慮。

11.調(diào)試分層次,經(jīng)常使用的功能,重要的核心功能應(yīng)該先調(diào)試,而次要的,不常用的功能最后調(diào)試。

12.最后,細(xì)致的觀察。觀察可以區(qū)別兩種差別不大的現(xiàn)象;可以明確經(jīng)驗(yàn)的應(yīng)用范圍;可以解決一些非常棘手的問題。Jtag不是萬能的,會影響程序的速度和執(zhí)行的頻度;printf影響 棧的深淺以及運(yùn)行時(shí)序;示波器探頭是個(gè)負(fù)載,信號可能驅(qū)動不起來……這些問題一般都是細(xì)微的現(xiàn)象,非常容易被忽視,唯有細(xì)致的觀察仔細(xì)的思考才可以捕捉。






審核編輯:劉清

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

    關(guān)注

    0

    文章

    4

    瀏覽量

    6199
  • 硬件調(diào)試
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    10712

原文標(biāo)題:如何找到解決問題的思路和方法——關(guān)于軟硬件調(diào)試

文章出處:【微信號:射頻美學(xué),微信公眾號:射頻美學(xué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    RK3568 EDP接口調(diào)試

    RK3568支持多種接口,本文主要介紹通過edp顯示接口驅(qū)動edp顯示屏的具體操作方法以及調(diào)試記錄。
    的頭像 發(fā)表于 09-20 09:57 ?4849次閱讀
    RK3568 EDP接口<b class='flag-5'>調(diào)試</b>

    CortexR52內(nèi)核Cache的具體操作

    本節(jié)內(nèi)容主要講述CortexR52內(nèi)核Cache的具體操作包括使緩存無效(invalidate)操作,清除(clean)緩存。有的時(shí)候客戶可能需要對cache做一些清理,比如invalidate
    的頭像 發(fā)表于 07-15 10:32 ?1295次閱讀
    CortexR52內(nèi)核Cache的<b class='flag-5'>具體操作</b>

    請問在ZLLClassical Join 的入網(wǎng)方式是怎樣的?我該如何具體操作?

    功能沒有問題, Touch搜到light,ON/OFF控制 light,問題:1、在ZLLClassical Join 的入網(wǎng)方式是怎樣的,我該如何具體操作?以上問題請Ti工程師或員工能在百忙中給予解答,Thanks.附上 抓包圖1、Bridge建立網(wǎng)絡(luò)后如圖:2、Lig
    發(fā)表于 05-22 05:44

    求ATmega168看門狗復(fù)位的具體操作過程?

    ATmega168看門狗復(fù)位的具體操作過程
    發(fā)表于 11-18 07:17

    看門狗定時(shí)器的具體操作

    看門狗定時(shí)器(WatchDog Timer)在出現(xiàn)程序跑飛卡死的時(shí)候用來強(qiáng)制復(fù)位處理器或控制器。具體操作是:通常程序正常循環(huán)會在一定周期內(nèi)進(jìn)行“喂狗”,若程序執(zhí)行一個(gè)錯(cuò)誤代碼或者程序卡死,將不
    發(fā)表于 11-10 07:15

    移植Miracl庫的具體操作步驟

    一篇文章中我們?yōu)榇蠹医榻B了嵌入式設(shè)備中支持國密算法的幾種方法。本篇我們詳細(xì)的介紹一下第一種方法:移植Miracl庫的具體操作步驟。第一步 獲取源碼MIRACL密碼庫是開源軟件,可以直接到官網(wǎng)下
    發(fā)表于 12-21 06:57

    AssistiveTouch的輔助功能鎖定屏幕如何具體操作

    ?和小編一起來看看吧!具體操作方法AssistiveTouch 使您可以使用 iPhone 或 iPad 觸摸屏的簡單菜單選項(xiàng)模擬身體動作、手勢和按鈕按下。這包括鎖定屏幕和重新啟動設(shè)備。要啟用它,首先,打開 iPhone 或 iPad
    發(fā)表于 12-31 07:04

    使用CH340來下載燒錄或調(diào)試具體操作步驟有哪些

    CH340是什么?有何特點(diǎn)?使用CH340來下載燒錄或調(diào)試具體操作步驟有哪些?
    發(fā)表于 02-24 07:05

    Protel在線教程:如何在PCB中給PCB補(bǔ)淚滴的具體操作

    Protel在線教程:如何在PCB中給PCB補(bǔ)淚滴的具體操作 仔細(xì)看這里,我們將學(xué)會做給PCB補(bǔ)淚滴的具體操作 
    發(fā)表于 04-22 09:02 ?8057次閱讀
    Protel在線教程:如何在PCB中給PCB補(bǔ)淚滴的<b class='flag-5'>具體操作</b>

    Protel在線教程:在PCB中給PCB做覆銅的具體操作

    Protel在線教程:在PCB中給PCB做覆銅的具體操作
    發(fā)表于 04-22 09:03 ?4047次閱讀
    Protel在線教程:在PCB中給PCB做覆銅的<b class='flag-5'>具體操作</b>

    硬件/軟件接口調(diào)試

      Debug 有幾個(gè)層次,通常構(gòu)建在 Eclipse 等集成開發(fā)環(huán)境 (IDE) 。用戶需要調(diào)試實(shí)際的硬件操作系統(tǒng)之外的裸機(jī)軟件執(zhí)行、
    的頭像 發(fā)表于 07-09 06:50 ?1471次閱讀
    在<b class='flag-5'>硬件</b>/<b class='flag-5'>軟件</b>接口<b class='flag-5'>調(diào)試</b>

    Allegro打過孔的具體操作步驟

    Allegro有一個(gè)非常好用的打過孔功能,可以在信號線旁邊快速打孔,提升了工作效率,避免手動打過孔的煩惱,具體操作步驟如下(本文使用的是Allegro17.4,其他低階版本使用方法大致相同):點(diǎn)擊
    的頭像 發(fā)表于 10-17 09:38 ?4814次閱讀

    PCB電鍍工藝流程及具體操作方法

    線路板的電鍍工藝,大約可以分類:酸性光亮銅電鍍、電鍍鎳/金、電鍍錫,文章介紹的是關(guān)于在線路板加工過程是,電鍍工藝的技術(shù)以及工藝流程,以及具體操作方法.
    發(fā)表于 02-07 15:27 ?7499次閱讀

    差分探頭的使用具體操作步驟

    品致差分探頭是一種專業(yè)用于電路測量的精密測試設(shè)備,其獨(dú)特的差分設(shè)計(jì)能夠有效消除噪聲干擾,提高信號測量的精確度。下面PRBTEK將為大家介紹品致差分探頭的具體操作方法。
    的頭像 發(fā)表于 04-03 11:18 ?4623次閱讀
    差分探頭的使用<b class='flag-5'>具體操作</b>步驟

    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?具體操作步驟是什么?

    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?具體操作步驟是什么?
    的頭像 發(fā)表于 01-17 15:34 ?4687次閱讀
    威綸通觸摸屏遠(yuǎn)程上下載程序需要什么工具?<b class='flag-5'>具體操作</b>步驟是什么?