1. gzyueqian
      13352868059

      嵌入式開發(fā):嵌入式基礎(chǔ)——軟件錯誤分類

      更新時間: 2022-07-29 10:09:02來源: 粵嵌教育瀏覽量:9111

        調(diào)試嵌入式系統(tǒng)是嵌入式開發(fā)人員必不可少的事情。調(diào)試的范圍可以從非常簡單的錯誤(幾乎不需要任何時間來調(diào)試)到人類已知的一些最復(fù)雜和最令人沮喪的錯誤。任何嵌入式軟件錯誤都可以分為四種不同的類別,雖然其中一些類別可能看起來很奇怪,但每個類別確實是可能的。

        錯誤類型 1 – Bohrbugs

        如果一個嵌入式系統(tǒng)會有bug,開發(fā)人員更愿意把它們歸類為Bohrbugs。Bohrbugs是當(dāng)軟件在類似的條件下運行時很容易重現(xiàn)的軟件錯誤。因為開發(fā)人員可以重現(xiàn)bug,所以深入研究并找到根本原因通常很簡單。

        錯誤類型 2 – Heisenbugs

        開發(fā)人員時不時會遇到一個bug,一旦發(fā)現(xiàn)這個bug,它就會消失,任何重現(xiàn)這個bug的嘗試都會失敗。開發(fā)人員可能會認為這是僥幸找到了系統(tǒng),但實際上該系統(tǒng)有一個 Heisenbug。Heisenbug 是一種bug,一旦在系統(tǒng)中觀察到它們,就會改變它們的行為和屬性。嘗試隔離和調(diào)試問題通常是困難和短暫的。Heisenbugs 通常表明代碼中某處存在競爭條件。對代碼進行輕微的修改,調(diào)整時間或者將調(diào)試器連接到系統(tǒng)上,就能神奇地讓bug消失。

        

        錯誤類型3 – Schroedinbugs

        開發(fā)人員偶爾會開發(fā)一個看起來運行完美的嵌入式系統(tǒng)。嵌入式開發(fā)人員可能正在執(zhí)行代碼審查或添加新功能,然后突然發(fā)現(xiàn)代碼中有一個從未在系統(tǒng)中出現(xiàn)過的bug。在檢查系統(tǒng)行為時,開發(fā)人員發(fā)現(xiàn)系統(tǒng)一直不能正常工作!只有當(dāng)你觀察它們時才會出現(xiàn)的bug被稱為Schroedinbugs。在發(fā)現(xiàn)bug之前,系統(tǒng)運行良好,但是只有在發(fā)現(xiàn)bug之后,它才會突然表現(xiàn)出一致的行為。

        錯誤類型4 – Mandel bugs

        開發(fā)人員有時會遇到一個看似簡單、類似Bohrbug的bug。在對代碼做了微小的修改后,bug似乎被解決了,但是在修復(fù)第一個bug時又發(fā)現(xiàn)了一個新的bug。修復(fù)第二個bug會導(dǎo)致系統(tǒng)中出現(xiàn)第三個和第四個bug,然后是第五個,第六個,第七個!無論開發(fā)人員做什么,對一個bug的解決方案似乎都會破壞這個bug,導(dǎo)致系統(tǒng)中更多的bug和問題。這些看起來斷裂或混亂的bug被稱為Mandel bugs,這個想法是,這些看似簡單的錯誤實際上是系統(tǒng)中復(fù)雜交互的結(jié)果,開發(fā)者并沒有完全理解。因此,解決一個領(lǐng)域的問題會導(dǎo)致另一個領(lǐng)域的問題。

        結(jié)論

        人類已知的每一個軟件bug都屬于這四個bug類別之一,下次系統(tǒng)需要調(diào)試時,請記住這些類別,對bug進行分類可以幫助嵌入式開發(fā)人員找到潛在的原因。

      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 一本一本久久a久久精品综合麻豆 | 亚洲国产精品欧美中文字幕 | 伊人成综合网开心五月丁香五 | 欧美.亚洲.日本视频 | 亚洲欧美国产va在线播放频 | 香蕉人在线香蕉人在线8 |