在Debian系統中,使用GCC編譯器進行調試通常涉及以下幾個步驟:
sudo apt-get update sudo apt-get install build-essential gdb
- 編譯程序時添加調試信息:在編譯程序時,使用 -g 選項來包含調試信息。這將幫助調試器識別源代碼中的變量和函數。例如:
gcc -g -o program program.c
- 使用GDB調試程序:
- 啟動GDB:
gdb program
break main
- 運行程序:使用 run 命令啟動程序。GDB將執行代碼,直到遇到斷點:
run
-
單步執行:
-
next:逐行執行程序,跳過當前行并直接進入下一行。
-
step:進入當前行的函數調用中。
-
觀察變量:使用 print 命令來觀察變量的值。例如,打印變量 x 的值:
print x
backtrace
- 繼續執行程序:使用 continue 命令讓程序從當前斷點繼續執行,直到遇到下一個斷點或程序結束:
continue
- 退出GDB:使用 quit 命令退出GDB:
quit
此外,還可以使用其他調試工具,如 debug-server,它是一個定制化的調試工具,可以通過 gdbserver 程序自動對目標進行 attach,并支持一鍵啟動 strace 程序觀察系統調用情況和程序內存映射地址。