www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]大家好,我是bug菌!最近看到一個(gè)小伙子調(diào)bug,那簡(jiǎn)直是苦不堪言,斷點(diǎn)是打了無(wú)數(shù)個(gè),日志是打印了一大堆??上攵@樣調(diào)試bug的過(guò)程是痛苦的,特別是一些莫名其妙的bug。而更可惱的是,有時(shí)候項(xiàng)目、客戶(hù)、boss還要在旁邊催,估計(jì)大部分工程師都想一鼠標(biāo)鍵盤(pán)砸過(guò)去了……不過(guò),非常...


大家好,我是bug菌!最近看到一個(gè)小伙子調(diào)bug,那簡(jiǎn)直是苦不堪言,斷點(diǎn)是打了無(wú)數(shù)個(gè),日志是打印了一大堆。可想而知,這樣調(diào)試bug的過(guò)程是痛苦的,特別是一些莫名其妙的bug。而更可惱的是,有時(shí)候項(xiàng)目、客戶(hù)、boss還要在旁邊催,估計(jì)大部分工程師都想一鼠標(biāo)鍵盤(pán)砸過(guò)去了……
不過(guò),非常時(shí)刻還是要有非常手段,畢竟有些bug是毀滅性的,動(dòng)不動(dòng)一個(gè)小時(shí)損失幾W的場(chǎng)面那是多么可怕的。
我覺(jué)得解決bug主要是兩個(gè)方面:
1、解決bug過(guò)程的思路一定要清晰,不要全憑感覺(jué),東打一槍?zhuān)鬓Z一炮,調(diào)試過(guò)程要有步驟有依據(jù),更不要在代碼中注釋類(lèi)似于"把這行代碼屏蔽就可以正常運(yùn)行這樣的注釋了~~"


2、理論知識(shí)要完備,包括問(wèn)題的專(zhuān)業(yè)知識(shí)和高效的調(diào)試技巧知識(shí),對(duì)這一塊功能設(shè)計(jì)理解都不透徹怎么根除問(wèn)題呢?
今天主要是跟大家介紹一下條件斷點(diǎn)(統(tǒng)稱(chēng),下面類(lèi)似)如何使用,可以說(shuō)有一半以上的軟件工程師很少、甚至沒(méi)有用過(guò)條件斷點(diǎn),這可是調(diào)試bug的神器,為何不好好利用起來(lái)呢?難道一定要一個(gè)個(gè)普通斷點(diǎn)的調(diào)試才更帶感嗎?

1

Keil中的調(diào)試斷點(diǎn)


我們可以找到Debug調(diào)試中的Breakpoints選項(xiàng)進(jìn)入該工程中所有設(shè)置斷點(diǎn)的具體信息:



上圖展示了03和04兩個(gè)斷點(diǎn),分時(shí)標(biāo)注了用戶(hù)所設(shè)置斷點(diǎn)的位置。其實(shí)你完全可以把這種普通斷點(diǎn)看成是條件斷點(diǎn)的一種,其條件就是當(dāng)程序運(yùn)行到如上所設(shè)置的地址處就會(huì)終止運(yùn)行,只是說(shuō)這樣的普通斷點(diǎn)可以直接在所編寫(xiě)的程序中點(diǎn)擊設(shè)置。


然而面對(duì)更加復(fù)雜的條件斷點(diǎn),似乎Keil并不能為用戶(hù)更好的提供展示,也是就有了上圖的斷點(diǎn)設(shè)置對(duì)話(huà)框,但又擔(dān)心我們不知道怎么用,于是就有了一個(gè)help跳轉(zhuǎn)到幫助文檔供我們查閱。


可以說(shuō)在help里面幾乎把每一項(xiàng)的功能都說(shuō)得很清楚了,并且藍(lán)色部分可以點(diǎn)擊進(jìn)入進(jìn)一步詳細(xì)說(shuō)明,所謂“授人以魚(yú)不如授人以漁”,bug就不啰嗦了,下面是help里面的實(shí)例,照著來(lái)即可~



不過(guò),這里還是簡(jiǎn)單介紹一下Keil中為用戶(hù)提供了三類(lèi)斷點(diǎn):


  • 訪(fǎng)問(wèn)斷點(diǎn)(A)

此類(lèi)斷點(diǎn)是設(shè)置了讀或?qū)憳?biāo)志,或同時(shí)設(shè)置了這兩個(gè)標(biāo)志的時(shí)候使用的。當(dāng)指定的內(nèi)存訪(fǎng)問(wèn)發(fā)生時(shí)觸發(fā)斷點(diǎn),這就非常有用了,有了它你調(diào)試程序的害怕數(shù)組越界嗎?變量被篡改嗎?


可以選擇指定內(nèi)存訪(fǎng)問(wèn)窗口的大小(以字節(jié)為單位)或作為表達(dá)式的對(duì)象大小。對(duì)于此斷點(diǎn)類(lèi)型,表達(dá)式必須解析為內(nèi)存地址和內(nèi)存類(lèi)型,允許的操作符?(
嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉