<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 測試測量 > 正文

    編碼調(diào)試的重點:常用斷點的基本介紹

    發(fā)布時間:2015-10-09 責(zé)任編輯:susan

    【導(dǎo)讀】斷點的種類很多,大體分為簡單斷點和復(fù)雜斷點兩種。不同的仿真器斷點種類也不同,一般都支持簡單的程序斷點,也是用戶經(jīng)常使用的斷點。下面介紹一下常用的斷點,希望對大家調(diào)試時有幫助。
     
    高檔仿真器支持的斷點種類很多,如時間斷點、變量操作斷點等。用戶通過操作斷點可以控制仿真器在指定的位置停止運行,然后分析當(dāng)前的運行狀態(tài),判斷程序中可能存在的問題或調(diào)試整個系統(tǒng)的硬件。
     
    圖1  斷點調(diào)試
     
    1. 使用鼠標(biāo)操作設(shè)置、刪除斷點
     
    在程序窗口(包括C語言、匯編和反匯編窗口)中, 用鼠標(biāo)雙擊需要設(shè)置斷點的程序行,則在窗口左邊的狀態(tài)條中出現(xiàn)紅色的斷點標(biāo)志如圖2所示,完成設(shè)置斷點操作。再次用鼠標(biāo)雙擊該程序行,窗口左邊的紅色斷點標(biāo)志消失,則為刪除斷點操作。
     
    圖2  簡單斷點
     
    2. 時間斷點
     
    時間斷點功能,既運行時間與時間斷點設(shè)置的時間相同時,程序停止運行。如圖3所示,在運行時間的下面可以看到Tbreak,這就是時間斷點。用戶可以根據(jù)實際觀察需要,設(shè)置Tbreak的值,注意單位是ns。當(dāng)程序運行時間累積到Tbreak的值時,程序停止運行。
     
    圖3  時間斷點
     
    3. 變量操作斷點
     
    變量操作斷點,當(dāng)對某一個變量進行讀寫操作時,通過設(shè)置變量讀寫操作斷點,讓程序停止運行。
     
    在Keil MDK環(huán)境下,進入仿真狀態(tài)之后,打開【Debug】菜單下的【Breakpoints】選項。在Breakpoints窗口即可定義變量操作斷點。
     
    具體定義方法:在Expression內(nèi)輸入變量的地址,然后選擇讀寫屬性,并正確設(shè)置字節(jié)范圍,最后點擊Define即可。例如,在地址0x20004000開始,16字節(jié)范圍內(nèi),定義讀寫斷點操作,具體設(shè)置方法如圖4所示。
     
    圖4  定義讀寫操作斷點
     
    在圖4中點擊Define之后,斷點即可設(shè)置成功,如圖5所示。圖5中共定義了4種類型的斷點。具體意義如下:
     
    斷點1:表示在地址0x20004000開始,16字節(jié)范圍內(nèi),出現(xiàn)讀或?qū)懙牟僮鳎瑒t中斷。
    斷點2:表示在地址0x20004100開始,8字節(jié)范圍內(nèi),出現(xiàn)讀的操作,則中斷。
    斷點3:表示在地址0x20004200開始,4字節(jié)范圍內(nèi),出現(xiàn)寫的操作,則中斷。
    斷點4:表示在地址0x20004300開始,1字節(jié)范圍內(nèi),出現(xiàn)讀或?qū)懙牟僮鳎瑒t中斷。
     
    圖5  Breakpoints定義斷點窗口
     
    注意:len表示在一個地址范圍內(nèi)該斷點有效,len必須為1,2,4,8,16,32乘2遞增,同時地址必須處于len的起始位置。例如len=16,則地址必須為0x10字節(jié)對齊, 0x40000010為有效的起始地址,而地址0x40000018為無效,將被系統(tǒng)強行修正為0x40000010。
     
    4. 小結(jié)
     
    上述簡單介紹了三種斷點的設(shè)置方法。簡單斷點是工程師調(diào)試程序中使用最頻繁的,設(shè)置方法簡單。AK100Pro仿真器支持Flash無限制斷點,但是有些芯片受制于本身的限制,如LPC1766芯片,只支持到最大6個硬件斷點。時間斷點,這個是某些芯片特有的,如Cotex-M3、8051內(nèi)核的芯片。變量斷點,用于觀察變量的改變對程序的影響。學(xué)會靈活運用斷點,助您快速找出程序Bug。


    小編推薦閱讀:
    我愛快包——電子工程師的外快錢包
    要采購仿真器么,點這里了解一下價格!
    特別推薦
    技術(shù)文章更多>>
    技術(shù)白皮書下載更多>>
    熱門搜索
    ?

    關(guān)閉

    ?

    關(guān)閉

    亚洲av永久无码精品网站| 国产高清无码二区| 国精无码欧精品亚洲一区| 日韩va中文字幕无码电影| 中文字幕久久精品| 日韩经典精品无码一区| 日韩区欧美区中文字幕| 国产做无码视频在线观看浪潮| 亚洲AV无码AV男人的天堂不卡| 中文字幕无码成人免费视频| 国模吧无码一区二区三区| 欧美日韩中文字幕在线看| 无码av免费一区二区三区试看| 日本精品久久久中文字幕| 国产精品无码久久久久久| 午夜无码中文字幕在线播放 | 中文字幕日韩精品无码内射| 中文字幕一区二区三区永久| 精品人妻系列无码人妻免费视频| 中文字幕一区二区三区永久 | 国产真人无码作爱免费视频| 中文无码人妻有码人妻中文字幕| 狠狠精品久久久无码中文字幕| 日韩精品无码一区二区三区AV| 天堂亚洲国产中文在线 | 亚洲综合av永久无码精品一区二区 | 高清无码午夜福利在线观看| 四虎国产精品永久在线无码| 亚洲av中文无码乱人伦在线r▽ | 精品无码一区二区三区爱欲九九| 无码av中文一二三区| 人看的www视频中文字幕| 人妻丰满熟妇AV无码区乱| 中文字幕在线视频第一页| 中文字幕精品亚洲无线码二区| 国产亚洲精品a在线无码| 亚洲av中文无码乱人伦在线r▽| 亚洲日本中文字幕天堂网| 亚洲欧美日韩中文在线制服| 日无码在线观看| 67194成l人在线观看线路无码|