以前經常聽到别人說gdb調試,很高大尚。在日常的開發中,gdb确實很有用。gdb調試博大精深,非三言兩語能說透,我們還是先從基礎開始學起吧。
要生成調試資訊必須加上 -g 選項,不加上 -g 選項生成的core都無法調試。之前我調試core沒加 -g 選項把自己坑了,是以這裡一定要注意。
生成core的2個條件:
1.ulimit -c unlimited
2.gcc/g++ -g
bt:檢視堆棧資訊
i locals:檢視目前程式棧的局部變量
i args:檢視目前程式棧的參數
i catch:檢視目前程式中戰幀的異常處理器
p a:列印變量的值
i register:檢視目前寄存器的值。這個這裡沒有示範
quit:退出
l(list):檢視程式源代碼
r(run):從運作程式至第一個斷點,沒有斷點則一直運作完
start:開始執行程式,停留在main函數第一行語句前等待指令
s(step):執行下一條語句,有函數則進入函數中
n(next):單步執行,不進入函數内部
set var:改變變量的值
finish:運作到目前函數為止,可以用來結束循環
參考位址:
http://blog.csdn.net/stpeace/article/details/51040073
http://www.cnblogs.com/hankers/archive/2012/12/07/2806836.html