在Debian系統上使用GCC(GNU編譯器集合)調試程序,通常涉及以下步驟:
編譯程序:
使用-g選項來編譯你的程序。這個選項告訴GCC生成調試信息,這些信息對于調試器(如GDB)來說是必需的。
gcc -g -o myprogram myprogram.c
啟動GDB:
使用gdb命令啟動GDB,并將你的程序作為參數傳遞給它。
gdb myprogram
設置斷點:
在你想要程序暫停執行的代碼行設置斷點。例如,如果你想在main函數處設置斷點,可以使用以下命令:
break main
你也可以在特定的文件和行號上設置斷點:
break myprogram.c:42
運行程序:
使用run命令開始執行程序。如果設置了斷點,程序將在第一個斷點處暫停。
run
檢查變量和執行流程: 當程序在斷點處暫停時,你可以使用各種GDB命令來檢查變量的值、單步執行代碼、查看調用棧等。
print variable_name:打印變量的值。next 或 n:執行下一行代碼,但不進入函數內部。step 或 s:執行下一行代碼,如果該行是函數調用,則進入函數。continue 或 c:繼續執行程序直到下一個斷點。backtrace 或 bt:顯示當前的調用棧。list 或 l:顯示當前執行點周圍的源代碼。修改變量值:
你可以使用set variable命令來修改變量的值。
set variable variable_name = new_value
退出GDB:
調試完成后,使用quit命令退出GDB。
quit
這些是使用GCC和GDB進行基本調試的步驟。GDB是一個功能強大的工具,有許多高級命令和選項可以幫助你更深入地調試程序。你可以通過閱讀GDB的手冊頁(使用man gdb命令)來了解更多信息。