在Linux中調試C++程序,通常使用GDB(GNU調試器),這是最常用且功能強大的調試工具。以下是使用GDB調試C++程序的基本步驟和一些常用命令:
在編譯C++程序時,需要加上 -g
選項以生成調試信息。例如:
g++ -g -o my_program main.cpp
使用以下命令啟動GDB并加載程序:
gdb my_program
使用 break
命令在指定位置設置斷點。例如,在 main
函數的開始處設置斷點:
break main
或者指定行號:
break 4
使用 run
命令開始程序執行,程序會在斷點處暫停:
run
step
(s
):進入函數調用并逐行執行。next
(n
):執行下一行代碼但不進入函數內部。使用 print
命令查看變量的當前值:
print variable_name
使用 backtrace
命令查看當前執行線程的調用堆棧:
backtrace
使用 continue
命令繼續執行程序,直到遇到下一個斷點或程序結束:
continue
使用 quit
命令退出GDB:
quit
info threads
:顯示當前程序的所有線程。thread thread_number
:切換到指定線程。bt
:打印當前函數的堆棧跟蹤。info frame frame_number
:打印指定棧幀的信息。watch variable_name
:在變量值改變時停下來。除了GDB,還有其他一些調試工具可供選擇,例如: