編碼不能沒(méi)調試,調試不能沒(méi)斷點(diǎn)

發(fā)布時(shí)間:2015-12-3 10:36    發(fā)布者:designapp
關(guān)鍵詞: 編碼 , 斷點(diǎn)
  斷點(diǎn)的種類(lèi)很多,大體分為簡(jiǎn)單斷點(diǎn)和復雜斷點(diǎn)兩種。不同的仿真器斷點(diǎn)種類(lèi)也不同,一般都支持簡(jiǎn)單的程序斷點(diǎn),也是用戶(hù)經(jīng)常使用的斷點(diǎn)。高檔仿真器支持的斷點(diǎn)種類(lèi)很多,如時(shí)間斷點(diǎn)、變量操作斷點(diǎn)等。用戶(hù)通過(guò)操作斷點(diǎn)可以控制仿真器在指定的位置停止運行,然后分析當前的運行狀態(tài),判斷程序中可能存在的問(wèn)題或調試整個(gè)系統的硬件。下面介紹一下常用的斷點(diǎn),希望對大家調試時(shí)有幫助。
  


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


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


  圖3 時(shí)間斷點(diǎn)
  3. 變量操作斷點(diǎn)
  變量操作斷點(diǎn),當對某一個(gè)變量進(jìn)行讀寫(xiě)操作時(shí),通過(guò)設置變量讀寫(xiě)操作斷點(diǎn),讓程序停止運行。
  在Keil MDK環(huán)境下,進(jìn)入仿真狀態(tài)之后,打開(kāi)【Debug】菜單下的【Breakpoints】選項。在Breakpoints窗口即可定義變量操作斷點(diǎn)。
  具體定義方法:在Expression內輸入變量的地址,然后選擇讀寫(xiě)屬性,并正確設置字節范圍,最后點(diǎn)擊Define即可。例如,在地址0x20004000開(kāi)始,16字節范圍內,定義讀寫(xiě)斷點(diǎn)操作,具體設置方法如圖4所示。
  


  圖4 定義讀寫(xiě)操作斷點(diǎn)
  在圖4中點(diǎn)擊Define之后,斷點(diǎn)即可設置成功,如圖5所示。圖5中共定義了4種類(lèi)型的斷點(diǎn)。具體意義如下:
  ? 斷點(diǎn)1:表示在地址0x20004000開(kāi)始,16字節范圍內,出現讀或寫(xiě)的操作,則中斷。
  ? 斷點(diǎn)2:表示在地址0x20004100開(kāi)始,8字節范圍內,出現讀的操作,則中斷。
  ? 斷點(diǎn)3:表示在地址0x20004200開(kāi)始,4字節范圍內,出現寫(xiě)的操作,則中斷。
  ? 斷點(diǎn)4:表示在地址0x20004300開(kāi)始,1字節范圍內,出現讀或寫(xiě)的操作,則中斷。
  


  圖5 Breakpoints定義斷點(diǎn)窗口
  注意:len表示在一個(gè)地址范圍內該斷點(diǎn)有效,len必須為1,2,4,8,16,32乘2遞增,同時(shí)地址必須處于len的起始位置。例如len=16,則地址必須為0x10字節對齊, 0x40000010為有效的起始地址,而地址0x40000018為無(wú)效,將被系統強行修正為0x40000010。
  4. 小結
  上述簡(jiǎn)單介紹了三種斷點(diǎn)的設置方法。簡(jiǎn)單斷點(diǎn)是工程師調試程序中使用最頻繁的,設置方法簡(jiǎn)單。AK100Pro仿真器支持Flash無(wú)限制斷點(diǎn),但是有些芯片受制于本身的限制,如LPC1766芯片,只支持到最大6個(gè)硬件斷點(diǎn)。時(shí)間斷點(diǎn),這個(gè)是某些芯片特有的,如Cotex-M3、8051內核的芯片。變量斷點(diǎn),用于觀(guān)察變量的改變對程序的影響。學(xué)會(huì )靈活運用斷點(diǎn),助您快速找出程序Bug。
                               
               
本文地址:http://selenalain.com/thread-158388-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页