gdb 調試筆記

1. 合理利用watch硬件斷點(很慢)

用途:用於檢測內存是否什麼時候被修改

舉例:先前修改編譯器,導致程序跑飛

方法:

1)用常規調試確定,到底哪個函數的棧出錯

2)用watch跟蹤出錯函數的返回地址


2. 合理利用ignore和斷點

用途:用於識別尋找出錯的實例

舉例:編譯某個程序,包括200多個函數,出現段錯誤;根據堆棧信息,知道函數名;函數名用string對象實現,不方便條件斷點(?不確定)

方法:

1)在出錯的代碼處加入斷點

2)調試用continue,知道出現段錯誤異常

3)使用info break,可以獲得該斷點的命中次數n

4)restart重新運行到斷點

5)ignore該斷點n-1次

6)開始單步調試

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