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