Linux 下GDB的使用之簡單入門

Linux 下程序崩潰。先要生成Core文件方可調試(這裏Test爲被調試程序函數

1.查看Core文件(至關於Windows下的dump)大小,若是爲0,則不會生成core文件 ui

ulimit -c 查看core文件大小 spa

ulimit -c filesize 設置大小爲filesize  調試

ulimit -c unlimited 設置core大小爲無限制 內存

2.啓動被調試程序 it

進入到被調試程序目錄,輸入gdb ./Test  回車 變量

若是被調試程序有參數需設置,則 set args xxxx 回車 file

也可 r arg1 arg2 程序

3.設置(刪除,使能,失能)斷點 im

若是是C++程序,則 

b ClassName::Fun 即給類名爲ClassName的成員函數Fun下斷點

也可

 b xxx.cpp:LineNum  即給xxx.cpp的LineNum 行下斷點

下好斷點後,可查看斷點

info b 或者 info break

刪除斷點

delete number(斷點編號) 或者delete all

enable b number (使能斷點)

disable b number (失能斷點)

4.運行程序 r

5.單步運行(步過,不進入函數內部) 

n

6.單步步入(步入,進入函數內部)

s

7.運行到下個斷點

c (contune)

8. 查看變量

p var(變量名)或者p addr (內存地址)

9.列出源程序

list 無參數

顯示上次內容以前或以後的10行內容

list 1個參數,list <line-number>

顯示參數行 line-number以前和以後的10行內容

list 2個參數,list<line1,line2>

說明:line1爲顯示的起始行,line2爲結束行

再次回車後,即執行list命令,顯示內容後面的10行命令




最後:

quit 退出gdb

相關文章
相關標籤/搜索