gdb
進入
quit(q)
離開
gdb ./test
gdb只吃可執行檔,不吃 .c 或 .h 檔
run(r)
開始執行或重新開始。
break(b) main
暫停點breakpoint,這邊指暫停在main()的地方。
break(b) test.c:14
gdb可同時在多檔案間debug,為避免gdb混淆,設breakpoint時可加上檔案名稱。
next(n)
下一步
list(l) 12
看source code,僅會印出breakpoint附近的一部分,繼續按可以一直印到程式碼結束。也可以跳到某特定行數,這邊是跳到程式碼第12行。
print(p) num
印出目前變數內的值,這邊印出變數num中的值。
print(p) num = 1
p也可以改變在那個時刻的變數值,這樣就可以測試不同條件。
continue(c)
就繼續
info locals
印出所有目前的區域變數的值
disable
取消/刪除所有的breakpoint