內存斷點

  經常有人問我關於內存斷點的問題,剛纔看帖又看到一個哥們問起這事。乾脆就寫一篇簡單教程吧。

        翻出了一個快排的程序。初始化了一個待排序數組,這時候如果我想看看arr[0]這個內存單元的值是何時開始變化的,那麼就可以在這個內存地址直接下數據斷點。打開Edit-->Breakpoints菜單,出現Breakpoints窗口,選Data葉面。內存斷點需要在調試過程中使用,這時候能直接看到arr的地址是0x12ff58,或者寫arr也可以。不過代碼量大的話,還是直接下內存地址比較靠譜。如下圖:

          

 

 長度那個地方默認是1,我改成了4,因爲int類型是4個字節。注意,這個時候arr[0]=0x26。然後F5運行程序。當arr[0]的值變化時,IDE會給出提示消息框,如下圖:

清楚的提示我們起始地址0x12ff58,長度爲4的這個內存單元發生了變化。點擊確定,再看看數據。

原來的0x26變成了0x17。然後看到代碼運行的地方,看到沒?就是上面的交換數據的那三行代碼。

        嗯,大概就是這樣子吧。VC6的集成調試環境還是挺不錯的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章