程序編譯后,調試是十分重要的環節,如何更好更快的定位程序中的問題,
是加快程序開發進度的重要因素。Gdb 調試器是一款 GNU 開發組織并發布的 UNIX/Linux 下的程序調試工
具。
GDB調試
編譯要點
對代碼進行編譯,注意一定要加上選項“-g”,這樣編譯出
的可執行代碼中才包含調試信息,否則之后 Gdb 無法載入該可執行文件。
例如:gcc -g test.c -o test
編譯成功,得到可執行文件test后,啟動gdb調試,則gdb test
常用指令
- l (查看文件) ,查看文件,如果是多文件,則可以 l test.c:20從test.c第20行開始顯示)
- b(設置斷點) ,例如 b 5(在第5行設置斷點),多文件可以 b test.c:5,也可以在通過函數名來設置斷點,入 b func .
- info b(查看斷點情況)
- r(運行代碼)
- p(查看變量值),想查看i變量,則可以在相關i變量值可能發生改變的地方設置斷點,然后 p i
- n / s (單步運行),它們之間的區別在于:若有函數調用的時候,“s”會進入該函數而“n”不會進入該函數。
- c(恢復程序運行)