在Debian系統上使用GCC進行調試,通常涉及以下幾個步驟:
編譯程序時添加調試信息:
使用-g
選項來編譯你的程序。這會在生成的可執行文件中包含調試信息,使得調試器(如GDB)能夠提供源代碼級別的調試。
gcc -g -o myprogram myprogram.c
啟動GDB:
使用GDB來啟動你的程序。在終端中輸入gdb
,后跟你想要調試的程序名。
gdb myprogram
設置斷點:
在GDB中,你可以使用break
命令來設置斷點。例如,如果你想在main
函數處設置斷點,可以輸入:
break main
運行程序:
使用run
命令來啟動程序。如果設置了斷點,程序將在斷點處暫停執行。
run
單步執行:
當程序在斷點處暫停后,你可以使用step
命令來單步執行代碼。如果你想進入函數內部,使用step
;如果你想在當前函數執行完畢后跳出,使用next
。
step
# 或者
next
查看變量和表達式:
你可以使用print
命令來查看變量的值或者計算表達式的結果。
print variable_name
# 或者
print expression
繼續執行:
使用continue
命令可以讓程序繼續執行,直到下一個斷點或者程序結束。
continue
查看調用棧:
使用backtrace
命令可以查看當前的調用棧。
backtrace
退出GDB:
當你完成調試后,可以使用quit
命令來退出GDB。
quit
這些是使用GCC和GDB進行基本調試的步驟。GDB還有許多高級功能,比如條件斷點、監視點、線程調試等,可以根據需要進行學習和使用。在Debian系統上,你可以通過安裝gdb
包來獲取GDB:
sudo apt update
sudo apt install gdb
確保你的程序在編譯時包含了調試信息,否則GDB將無法提供詳細的調試信息。