在調試程序時,可以通過斷點(Breakpoint)設置使程序暫停執行的條件標準。當特定的條件標準滿足時,會暫停程序執行。
斷點可分為兩大類:硬件斷點和軟件斷點。在MPLAB? X IDE集成開發環境的層面上,這兩種類型的斷點呈現相同的工作方式,但它們在幕后實現上卻存在差異。
硬件斷點具有更多的功能,支持更多暫停程序執行的條件標準。但是硬件斷點的數量受到目標單片機硬件的限制,數量較少。
而軟件斷點需要由調試器支持,數量較多。但軟件斷點只支持打斷程序存儲器的事件使程序暫停執行。
在MPLAB X IDE中將默認自動使用硬件斷點,如要使用軟件斷點,則需要首先使能軟件斷點。軟件斷點的使能以及項目中目標芯片的斷點資源情況都可以在MPLAB X IDE的Dashboard窗口中看到。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
硬件
+關注
關注
11文章
3403瀏覽量
66494 -
軟件
+關注
關注
69文章
5028瀏覽量
88138 -
程序
+關注
關注
117文章
3798瀏覽量
81457
發布評論請先 登錄
相關推薦
軟件斷點的介紹
的方法,肯定是在斷言里面加入斷點,只要斷言失敗,那么程序自然就停下來了。但是我們知道,KEIL 加入斷點后有可能在再次打開工程后消失,而且STM32單片機支持的斷點數量也有限,有沒有好的方法?有的,就是
![<b class='flag-5'>軟件</b><b class='flag-5'>斷點</b>的介紹](https://file.elecfans.com/web2/M00/6D/92/pYYBAGMz-6WASO45AACuCnchhY8694.png)
如何充分利用各種類型的斷點
代碼斷點是最簡單的斷點。開發人員只需要選擇C代碼或者反匯編窗口中的ASM指令并設置斷點即可。一旦斷點被觸發,程序就會暫停。
發表于 09-18 11:03
?1626次閱讀
![如何充分利用各種類型的<b class='flag-5'>斷點</b>](https://file.elecfans.com/web2/M00/15/2B/poYBAGFFWuSANUdmAAalwzEfsw4638.png)
如何實現硬件斷點呢?
我想問一下如何實現硬件斷點呢,我在底層debug模塊中定義了如下寄存器
但是在頂層運行硬件斷點的時候依舊會提示報錯
請問這種情況是頂層編譯器沒有支持嗎?還是說要在其他的模塊中再次
發表于 08-11 12:54
IAR支持的斷點類型和使用方法
1. 前言 2. 常用斷點存在的問題 3. IAR支持的斷點類型和使用方法 3.1. 代碼斷點 3.2 條件代碼斷點 3.3 讀寫訪問的數據斷點
cortex-m3軟件斷點/單步執行的實現機制
一.軟件斷點軟件斷點設置后,斷點處的代碼如果是存放在SRAM中,相應的一條指令(C語言中的一行代碼可能對應多條處理器指令)會被調試器(deb
發表于 12-01 12:51
?6次下載
![cortex-m3<b class='flag-5'>軟件</b><b class='flag-5'>斷點</b>/單步執行的實現機制](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Segger的無限Flash斷點調試功能
J-Link支持一項名為“無限Flash斷點”(Unlimited Flash Breakpoints)的調試功能。“無限Flash斷點”允許用戶在Flash中調試時設置無限數量的斷點。如果沒有此功能,在Flash中能夠設置的
GDB調試里怎么設置斷點
本篇講解使用GDB調試Linux應用程序,以下以 hellowld.c 為例介紹 GDB 的調試入門: 設置斷點 ??disable?????????????????#?禁用所有斷點
評論