成人免费无码不卡毛片,亚洲AⅤ无码精品一区二区三区,国产尤物精品视频,久久精品日本亚洲,欧美成人一区三区无码乱码A片,中文字日产幕码一区二区色哟哟,亞洲日韓中文字幕網AV

  • 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

BUG 終結者,現(xiàn)場抓獲 | 顛覆認知

2020/06/28
53
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

不知道你是否有這樣的經(jīng)歷,測試的機器運行半個月、一個月的都沒啥問題,突然就死機了,或者運行錯誤了,總之莫名其妙。但是此時,你的調試器已經(jīng)從機器上拔下來了,無法在線調試觀察死機后的現(xiàn)場了,你無法觀察到你的變量、寄存器、外設、堆、棧等處于什么情況,這個時候你不得不重新接上調試器,再次運行程序以等待問題的出現(xiàn)。這個笨方法存在幾個問題:第一、因為復現(xiàn)率太低,所以你的電腦必須一直連接電腦,否則問題出現(xiàn)了無法確認。第二,萬一中途因為各種原因(線拔了,KEIL 意外退出了)導致調試器和機器的連接出現(xiàn)了問題,那么只能重來了。第三,可能運行幾個月都不會再出問題,但是你卻知道,這里隱藏了一個炸彈,指不定什么時候就爆了;更有甚者,可能連接調試器后這個問題可能就沒有了,但是斷開之后就又有問題了。

針對以上問題,我們就會想,是否存在一種方法,能夠在出現(xiàn)問題之后,可以使用調試器抓獲現(xiàn)場環(huán)境呢?我們都知道,KEIL 環(huán)境下,連接調試器后,單片機進入調試模式時,KEIL 會自動將整個單片機進行復位(可能是內核復位,也可能是系統(tǒng)復位,也可能是 RST 引腳復位),復位操作對于剛下載的程序而言,可以很方便的幫助開發(fā)者更方便的進入調試環(huán)境,但是對于機器的問題現(xiàn)場而言,這是在破獲現(xiàn)場!但是根據(jù)以往的認知,我們總是以為進入調試模式時,必然需要先進行單片機復位的,所以我們對這種難復現(xiàn)的 BUG 總是感到無能為力。

今天,魚鷹教大家一個方法,如何使用 KEIL 調試器抓獲 STM32 的 BUG 現(xiàn)場(其他單片機可自行測試),這個方法將顛覆你的認知,可以在單片機運行時進入調試模式,從而抓獲現(xiàn)場!這個功能其實在某一個軟件是集成了的(不記得哪一個軟件了),但在 KEIL 中我們需要幾步操作完成。

1、新建一個工程目標(可命名為 NotRest):

這樣你可以看到你現(xiàn)在的目標:

?

接下來的所有操作都在這個目標進行。事實上,如果只是為了抓獲 BUG 現(xiàn)場,是不需要新建目標的,但是為了今后可以方便的不復位單片機也能進入調試模式,也為了不改變以前目標的配置,增加一個目標還是很有必要的,這樣,你可以根據(jù)需要(是否復位芯片)切換目標了。

2、新建一個 load.ini 文件,文件內容如下:LOAD %L INCREMENTAL 該文件用于加載 axf 文件到 KEIL 中,但是不會下載到單片機中,而 axf 文件可以方便我們進行源碼級別的調試。

3、打開該目標的 option 進行配置:

4、點擊仿真按鈕,記住了,別點下載按鈕(魚鷹非常不喜歡別人先點下載按鈕再點仿真按鈕,因為剛編譯后的代碼,如果你直接點仿真按鈕,在默認配置下會自動下載和進入調試模式的,比較方便)。

注意,一定要確定該目標可以正常使用(即不會復位單片機)才能真正用于實際的 BUG 現(xiàn)場,不要沒有做測試就直接拿它去調試實際的單片機,否則可能因為沒有正確配置,而破壞了現(xiàn)場環(huán)境(默認配置下,會直接復位單片機)!

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄
昌平区| 琼海市| 安阳县| 乐平市| 通辽市| 隆子县| 墨竹工卡县| 军事| 柘荣县| 南投市| 山阳县| 封丘县| 青田县| 裕民县| 丁青县| 荣昌县| 凤庆县| 嘉兴市| 郎溪县| 黄骅市| 瓦房店市| 郸城县| 溧水县| 霍林郭勒市| 大邑县| 满城县| 高唐县| 昌邑市| 琼海市| 临夏市| 鹤壁市| 古田县| 图木舒克市| 永福县| 旌德县| 科技| 德阳市| 图片| 抚州市| 新竹市| 蓬溪县|