用gdb進(jìn)行斷點(diǎn)調(diào)試
進(jìn)入GDB ——gdb test
查看文件——l
設(shè)置斷點(diǎn) ——b 6
查看斷點(diǎn)處情況 ——info b
運(yùn)行代碼 ——r
查看變量值 ——p n / p i
觀察變量 ——watch n
單步運(yùn)行 ——n
程序繼續(xù)運(yùn)行 ——c
退出GDB ——q
以gbs.c為例
1、 將要編譯的文件編譯成可執(zhí)行文件要加-g參數(shù)
gcc -g gbs.c -o gbs

Paste_Image.png
2、gdb gbs對生成的可執(zhí)行文件進(jìn)行g(shù)db調(diào)試,同時進(jìn)入gdb

Paste_Image.png
3、可以進(jìn)行查看源碼 l 命令

Paste_Image.png
4、設(shè)置斷點(diǎn),可以查看程序運(yùn)行到某一行的情況,可以查看變量的值、堆棧情況等 命令格式 b 行號

Paste_Image.png
5、查看斷點(diǎn)處情況 (gdb) info b

Paste_Image.png
6、運(yùn)行代碼 (gdb) r 運(yùn)行第六行代碼

Paste_Image.png
7、顯示變量值 (gdb) p n
在程序暫停時,鍵入"p 變量名"(print)即可;
8、觀察變量 (gdb) watch n
在某一循環(huán)處,往往希望能夠觀察一個變量的變化情況,這時就可以鍵入命令"watch"來觀察變量的變化情況,GDB在"n"設(shè)置了觀察點(diǎn);
9、單步運(yùn)行 (gdb) n
10、程序繼續(xù)運(yùn)行 (gdb) c
使程序繼續(xù)往下運(yùn)行,直到再次遇到斷點(diǎn)或程序結(jié)束;
11退出GDB (gdb) q