C学习笔记-gdb
gdb即GNU debugger,用來調試程序
gdb使用前提
要使用gdb,則需要在編譯源代碼時候使用-g參數
gcc -g –o test test.c啟動gdb
gdb 程序名 [corefile]corefile是可選的,但能增強gdb的調試能力
Linux默認是不生成corefile的,所以需要在用戶profile文件中添加ulimit -c unlimited,修改完成之后讓profile文件及時生效
另外程序錯誤時候會生成core或者core.*文件,也可作為其參數
gdb的使用
快速定位軟件出錯位置
- 啟動gdb調試錯誤
- 關閉多余軟件信息
如果軟件出錯,就會打印出出錯的語句
使用gdb調試
- 啟動gdb
- 運行程序
- 顯示導致段錯誤的執行函數樹
- 顯示包含錯誤附近代碼
m,n為可選參數,表示起始行和結尾行
不帶參數默認顯示附近10行
- 顯示表達式、變量的值
e.g.
(gdb) print i- 變量的類型
- 結構的定義
gdb的斷點使用
- break命令設置斷點
- 進入gdb調試模式
以上是進入gdb調試,在代碼第5行設置斷點,運行程序
- 查看已設置斷點
- 從斷點以后繼續執行
- 刪除一個斷點
- 改變一個變量的值
- step命令
當遇到一個函數的時候,step將進入函數,每次執行一條語句,相當于step into
- next命令
當遇到一個函數的時候,next將執行整個函數,相當于step over
- return [value]命令
停止執行當前函數,將value返回給調用者,相當于step return
轉載于:https://www.cnblogs.com/cj5785/p/10664754.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 坑题
- 下一篇: 从NetCore报错到MySql安全