1、 文檔目標
了解不同情況下,設置的斷點的類型是什么。
2、 問題場景
在debug模式下,經常通過斷點去調試代碼。但是對于斷點的類型不了解,不清楚斷點為什么會被進入。不了解在不同語句或者情況下設置的斷點是否有不同。
3、軟硬件環境
1)軟件版本:MDK 5.38a
2)電腦環境:Windows 11
3)外設硬件:無
4、解決方法
斷點一共分為三種類型:Access Breakpoint(內存訪問斷點)、Execution Breakpoint(執行斷點)、Conditional Breakpoint(條件斷點)。
1)Access Breakpoint(內存訪問斷點):指定內存訪問的模式(讀、寫、讀寫)。當讀取、寫入或訪問特定地址時,內存訪問斷點暫停程序執行或執行命令。程序執行速度不會受到顯著影響,因為只有在指定的訪問事件發生時才會計算表達式。
2)Execution Breakpoint(執行斷點):到達指定的代碼地址時觸發斷點。代碼地址必須指向CPU指令的第一個字節。
3)Conditional Breakpoint(條件斷點):在設置該類型的斷點的時候,需要設置一個條件表達式,當條件表達式為真時,斷點就會觸發。條件表達式在每條CPU指令執行完畢后都會重新計算,這會大大降低程序的執行速度。

首頁 > 資源中心 > FAQ
