簡單的gdb除錯:
gdb簡單除錯步驟: 新建一個小demoC程式: int func(int n) { int sum=0,i; for(i=0; i<n; i++) { sum+=i; } return sum; } main() { int i; long result = 0; for(i=1; i<=100; i++) { result += i; } printf("result[1-100] = %d /n", result ); printf("result[1-250] = %d /n", func(250) ); } 開始gdb除錯: 編譯:gcc -g -o e e.c 進入gdb: gdb e
(gdb) start //開始執行 Temporary breakpoint 1 at 0x400563: file test.c, line 17. Starting program: /home/qqq/cc/test
Temporary breakpoint 1, main () at test.c:17 17 long result = 0; (gdb) n 1 //回車單步執行 18 for(i=1; i<=100; i++) (gdb) n 1 20 result += i; (gdb) b 20 //20行加斷點 Breakpoint 2 at 0x400574: file test.c, line 20. (gdb) c //繼續執行 Continuing.
Breakpoint 2, main () at test.c:20 20 result += i; (gdb) display result //顯示printf輸出結果 1: result = 1 (gdb) c Continuing.
Breakpoint 2, main () at test.c:20 20 result += i; 1: result = 3 (gdb) quit //退出gdb