# GDB 教學
老師給予一個測試程式:
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char * arg[]){
int a, b, c, d, e, f, i;
a = 0;
b = 8;
c = 29;
d = 44;
e = 444;
printf("%d %d %d %d %d", a, b, c, d, e);
for (i=0; i<argc; i++) printf("@@ %s \n", arg[i]);
system("pause");
return 0;
}
# 指令紀錄
- 編譯指令:
$ gcc -g -o test1.exe test.c
- 進入 GDB:
$ gdb
or$ gdb test1.exe
- 讀取執行檔:
file test1.exe
- 設定執行參數:
show args
,set args arg1 arg2 arg3
- 執行:
run
- 顯示10行程式碼:
list
- 設定中斷點於第八行:
b 8
- 顯示中斷點清單:
info break
- 印出即時的變數:
print a
,a 是變數名稱 - 持續追蹤變數:
display a
,a 是變數名稱 - 取消追蹤變數:
undisplay 1
,後面第二個參數要接數字,必須是 display list 的數字