對OD硬件斷點的幾點思考

前幾天轉了一片這樣的文章

http://blog.csdn.net/nightsay/article/details/42063081

這幾天在分析硬件斷點的時候恍然明白了好多,打開OD在我們下硬件斷點到時候


爲什麼只有訪問,寫入和執行斷點,爲什麼每種斷點只有byte,word,dword類型

爲什麼在查詢硬件斷點的時候發現硬件斷點只能有4個


原理自然明瞭:

先回顧一下 調試寄存器:

點擊圖片以查看大圖圖片名稱: DR0_DR7.jpg查看次數: 2307文件大小: 63.6 KB文件 ID : 39226

DR0~DR3,哦,只能下4個硬件斷點

在看DR7:

 R/W0-R/W3:(由第16,17,20,21,24,25,28,29位控制):這個東西的處理有兩種情況。
如果CR4的DE被置位,那麼,他們按照下面的規則處理問題:
00:執行斷點
01:數據寫入斷點
10:I/0讀寫斷點
11:讀寫斷點,讀取指令不算
如果DE置0,那麼問題會這樣處理:
00:執行斷點
01:數據寫入斷點
10:未定義
11:數據讀寫斷點,讀取指令不算

所以只有執行斷點,訪問斷點和寫入斷點

LEN0-LEN3:(由第18.19.22.23.26.27.30位控制):指定內存操作的大小。
00:1字節(執行斷點只能是1字節長)
01:2字節
10:未定義或者是8字節(和cpu的系列有關係)
11:4字節

所以只有byte,word ,dword類型


一切都清楚了,不是麼?

發佈了25 篇原創文章 · 獲贊 12 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章