天天看點

gdb調試

       以前經常聽到别人說gdb調試,很高大尚。在日常的開發中,gdb确實很有用。gdb調試博大精深,非三言兩語能說透,我們還是先從基礎開始學起吧。

要生成調試資訊必須加上 -g 選項,不加上 -g 選項生成的core都無法調試。之前我調試core沒加 -g 選項把自己坑了,是以這裡一定要注意。

生成core的2個條件:

1.ulimit -c unlimited

2.gcc/g++ -g

gdb調試

bt:檢視堆棧資訊

i locals:檢視目前程式棧的局部變量

i args:檢視目前程式棧的參數

i catch:檢視目前程式中戰幀的異常處理器

p a:列印變量的值

i register:檢視目前寄存器的值。這個這裡沒有示範

quit:退出

gdb調試

l(list):檢視程式源代碼

r(run):從運作程式至第一個斷點,沒有斷點則一直運作完

start:開始執行程式,停留在main函數第一行語句前等待指令

gdb調試

s(step):執行下一條語句,有函數則進入函數中

n(next):單步執行,不進入函數内部

gdb調試

set var:改變變量的值

gdb調試

finish:運作到目前函數為止,可以用來結束循環

參考位址:

http://blog.csdn.net/stpeace/article/details/51040073

http://www.cnblogs.com/hankers/archive/2012/12/07/2806836.html

繼續閱讀