一、gdb 除錯段錯誤
(1)編寫**
vim segfault.c
#include
int main()
char *buf;
*buf = "hello,world";
retrun 1;
(2)編譯
#gcc -g segfault.c
#lsa.out segfault.c
(3)除錯
#./a.out
segmentation fault (core dumped)
#gdb ./a.out ./core
#0 0x2b38 in main (argc=1, argv=0x7f7f06b4) at segfault.c:8
8 *buf = "***";
哈哈出來了!
二、gdb除錯程序
#ps -ef | grep test
獲取程序號,比如是1777
#gdb
(gdb)attach 1777
(gdb) bt
GDB除錯精粹及使用例項
gdb除錯精粹及使用例項 一 列檔案清單 1 list gdb list line1,line2 二 執行程式 要想執行準備除錯的程式,可使用run命令,在它後面可以跟隨發給該程式的任何引數,包括標準輸入和標準輸出說明符 和外殼萬用字元 在內。如果你使用不帶引數的run命令,gdb就再次使用你給予前...
GDB除錯精粹及使用例項
一 列檔案清單 1 list gdb list line1,line2 二 執行程式 要想執行準備除錯的程式,可使用run命令,在它後面可以跟隨發給該程式的任何引數,包括標準輸入和標準輸出說明符 和外殼萬用字元 在內。如果你使用不帶引數的run命令,gdb就再次使用你給予前一條run命令的引數,這是...
GDB除錯精粹及使用例項
一 列檔案清單 1 list gdb list line1,line2 二 執行程式 要想執行準備除錯的程式,可使用run命令,在它後面可以跟隨發給該程式的任何引數,包括標準輸入和標準輸出說明符 和 和外殼萬用字元 在內。如果你使用不帶引數的run命令,gdb就再次使用你給予前一條run命令的引數,...