斷點和PC位址

2021-06-18 04:20:21 字數 695 閱讀 5750

breakpoints and program counter

hardware data breakpoint

如果硬體資料斷點被命中, pc指標位址取決於被除錯處理器。

對於 arm 處理器, 當資料斷點命中時,一條或兩條指令的「剎車行為」 產生。

這意味著產生斷點的指令,可能還包括其後的第二條指令,都被執行。

偵錯程式顯示的 pc 值,可能並不是產生斷點的指令位址。

hardware instruction breakpoint

如果硬體指令斷點被命中, pc指標位址取決於被除錯處理器。

對於 arm 處理器, 當資料斷點命中時,沒有剎車行為產生。

這意味著產生斷點的指令還沒有被執行, pc 值 正好被設定到該位址。

software instruction breakpoint

當軟體斷點被命中時, pc 位址值總是斷點的位址。

除非該斷點指令是 bkpt, 產生斷點的指令總是不被執行。

processor events

如果處理器事件被命中, pc 位址值取決於被除錯的處理器。

對於 arm 處理器,在該位址的指令被執行前,  向量捕捉硬體停止且 pc 值指向該異常向量。

硬體斷點和軟體斷點

硬體斷點和軟體斷點 在嵌入式開發 經常用到 jtag 器。jtag 器可以滿足嵌入式程式除錯的基本要求 斷點設定 單步除錯 記憶體編輯 變數 暫存器觀測等。而斷點設定是 jtag 器最基本的除錯功能。使用者需要系統在設定斷點處停下來後再進行除錯。斷點根據原理和用途不同又分為幾個不同的種類。斷點可分為...

記憶體斷點和硬體斷點

32位邏輯位址 16位段選擇器 偏移位址 16位段選擇器 13位全域性描述符表 區域性描述符表索引 1位gdt ldtflag 2位的訪問控制許可權 由16位得到段選擇器索引到全域性描述符表得到64位的段描述符,段描述符中包含了線性段基址 線性段基址 偏移位址 邏輯位址後半段 得到線性位址空間的乙個...

硬斷點和軟斷點的區別

macrossdzh 硬斷點 break point 軟斷點 assert 簡單的解釋 硬體斷點 硬斷點需要硬體暫存器提供支援,斷點的數目受embedded ice中的watchpoint數目的限制,但是可以在任何地方設定斷點。斷點可分為硬體斷點和軟體斷點兩大類 1 硬體斷點需要目標cpu的硬體支援...