編碼調試的重點:常用斷點的基本介紹
發布時間:2015-10-09 責任編輯:susan
【導讀】斷點的種類很多,大體分為簡單斷點和複雜斷點兩種。不同的仿真器斷點種類也不同,一般都支持簡單的程序斷點,也是用戶經常使用的斷點。下麵介紹一下常用的斷點,希望對大家調試時有幫助。
高檔仿真器支持的斷點種類很多,如時間斷點、變(bian)量(liang)操(cao)作(zuo)斷(duan)點(dian)等(deng)。用(yong)戶(hu)通(tong)過(guo)操(cao)作(zuo)斷(duan)點(dian)可(ke)以(yi)控(kong)製(zhi)仿(fang)真(zhen)器(qi)在(zai)指(zhi)定(ding)的(de)位(wei)置(zhi)停(ting)止(zhi)運(yun)行(xing),然(ran)後(hou)分(fen)析(xi)當(dang)前(qian)的(de)運(yun)行(xing)狀(zhuang)態(tai),判(pan)斷(duan)程(cheng)序(xu)中(zhong)可(ke)能(neng)存(cun)在(zai)的(de)問(wen)題(ti)或(huo)調(tiao)試(shi)整(zheng)個(ge)係(xi)統(tong)的(de)硬(ying)件(jian)。

圖1 斷點調試
1. 使用鼠標操作設置、刪除斷點
在程序窗口(包括C語言、彙編和反彙編窗口)中, 用鼠標雙擊需要設置斷點的程序行,則在窗口左邊的狀態條中出現紅色的斷點標誌如圖2所示,完成設置斷點操作。再次用鼠標雙擊該程序行,窗口左邊的紅色斷點標誌消失,則為刪除斷點操作。

圖2 簡單斷點
2. 時間斷點
時間斷點功能,既運行時間與時間斷點設置的時間相同時,程序停止運行。如圖3所示,在運行時間的下麵可以看到Tbreak,這就是時間斷點。用戶可以根據實際觀察需要,設置Tbreak的值,注意單位是ns。當程序運行時間累積到Tbreak的值時,程序停止運行。

圖3 時間斷點
3. 變量操作斷點
變量操作斷點,當對某一個變量進行讀寫操作時,通過設置變量讀寫操作斷點,讓程序停止運行。
在Keil MDK環境下,進入仿真狀態之後,打開【Debug】菜單下的【Breakpoints】選項。在Breakpoints窗口即可定義變量操作斷點。
具體定義方法:在Expression內輸入變量的地址,然後選擇讀寫屬性,並正確設置字節範圍,最後點擊Define即可。例如,在地址0x20004000開始,16字節範圍內,定義讀寫斷點操作,具體設置方法如圖4所示。

圖4 定義讀寫操作斷點
在圖4中點擊Define之後,斷點即可設置成功,如圖5所示。圖5中共定義了4種類型的斷點。具體意義如下:
斷點1:表示在地址0x20004000開始,16字節範圍內,出現讀或寫的操作,則中斷。
斷點2:表示在地址0x20004100開始,8字節範圍內,出現讀的操作,則中斷。
斷點3:表示在地址0x20004200開始,4字節範圍內,出現寫的操作,則中斷。
斷點4:表示在地址0x20004300開始,1字節範圍內,出現讀或寫的操作,則中斷。

圖5 Breakpoints定義斷點窗口
注意:len表示在一個地址範圍內該斷點有效,len必須為1,2,4,8,16,32乘2遞增,同時地址必須處於len的起始位置。例如len=16,則地址必須為0x10字節對齊, 0x40000010為有效的起始地址,而地址0x40000018為無效,將被係統強行修正為0x40000010。
4. 小結
上述簡單介紹了三種斷點的設置方法。簡單斷點是工程師調試程序中使用最頻繁的,設置方法簡單。AK100Pro仿真器支持Flash無限製斷點,但是有些芯片受製於本身的限製,如LPC1766芯片,隻支持到最大6個硬件斷點。時間斷點,這個是某些芯片特有的,如Cotex-M3、8051內核的芯片。變量斷點,用於觀察變量的改變對程序的影響。學會靈活運用斷點,助您快速找出程序Bug。
小編推薦閱讀:
我愛快包——電子工程師的外快錢包
小編推薦閱讀:
我愛快包——電子工程師的外快錢包
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 大聯大世平集團首度亮相北京國際汽車展 攜手全球芯片夥伴打造智能車整合應用新典範
- 2026北京車展即將啟幕,高通攜手汽車生態“朋友圈”推動智能化體驗再升級
- 邊緣重構智慧城市:FPGA SoM 如何破解視頻係統 “重而慢”
- 如何使用工業級串行數字輸入來設計具有並行接口的數字輸入模塊
- 意法半導體將舉辦投資者會議探討低地球軌道(LEO)發展機遇
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
SATA連接器
SD連接器
SII
SIM卡連接器
SMT設備
SMU
SOC
SPANSION
SRAM
SSD
ST
ST-ERICSSON
Sunlord
SynQor
s端子線
Taiyo Yuden
TDK-EPC
TD-SCDMA功放
TD-SCDMA基帶
TE
Tektronix
Thunderbolt
TI
TOREX
TTI
TVS
UPS電源
USB3.0
USB 3.0主控芯片
USB傳輸速度


