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

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


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


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

1

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


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



上圖展示了03和04兩個斷點,分時標注了用戶所設置斷點的位置。其實你完全可以把這種普通斷點看成是條件斷點的一種,其條件就是當程序運行到如上所設置的地址處就會終止運行,只是說這樣的普通斷點可以直接在所編寫的程序中點擊設置。


然而面對更加復雜的條件斷點,似乎Keil并不能為用戶更好的提供展示,也是就有了上圖的斷點設置對話框,但又擔心我們不知道怎么用,于是就有了一個help跳轉到幫助文檔供我們查閱。


可以說在help里面幾乎把每一項的功能都說得很清楚了,并且藍色部分可以點擊進入進一步詳細說明,所謂“授人以魚不如授人以漁”,bug就不啰嗦了,下面是help里面的實例,照著來即可~



不過,這里還是簡單介紹一下Keil中為用戶提供了三類斷點:


  • 訪問斷點(A)

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


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

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

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