通過前面的介紹,大家已經(jīng)會了數(shù)據(jù)斷點、條件斷點,今天我們再給大家加一個內(nèi)存斷點,更有意思哦。
顧名思義,內(nèi)存斷點就是在一個地址處下斷點,這個地址只要有讀寫就斷住,就這么簡單。那么下來我們給大家演示一下,先看一個程序:
怎么樣?簡單吧,交換兩個數(shù)字的程序
這個時候比方我想看a變量地址出的改變情況,就可以用內(nèi)存斷點來下斷點,我們先查看&a的地址,比如筆者這里找到是0x0019ff3c,那么現(xiàn)在就可以下斷點了,方法是:
點擊Edit – 斷點? 在編輯框里輸入想要下的斷點處地址0x0019ff3c
然后排列結(jié)構(gòu)這里填了,因為int占四個字節(jié)。
然后確定關(guān)閉,之后就可以運(yùn)行程序了!
只要0x0019ff3c被讀寫都會引發(fā)斷點!如圖:
我們還可以跟蹤這片內(nèi)存的變化情況,如下圖可以看到是在剛進(jìn)入這main函數(shù)時變量a還未初始化時候的情況,還是CC…呢,下面隨著mov的一句才把3放到a里完成初始化。
繼續(xù)往下走,0x0019ff3c處又被更改,被寫入b的值19(對應(yīng)十進(jìn)制25)
怎么樣,同學(xué)們,學(xué)會內(nèi)存斷點了嗎?
C語言研究中心(www.sztianhecheng.cn)