在Ubuntu上調試C++代碼的常用方法
GDB是Ubuntu下最常用的命令行調試工具,適合習慣終端操作的用戶。
sudo apt update && sudo apt install gdb
安裝。g++ -g -O0 your_file.cpp -o your_executable
編譯(-g
生成調試信息,-O0
關閉優化以避免變量被優化掉)。gdb ./your_executable
加載程序。break <function_name或line_number>
:設置斷點(如break main
或break main.cpp:10
);run
:啟動程序(若有命令行參數,可追加如run arg1 arg2
);next
(或n
):單步執行,不進入函數內部;step
(或s
):單步執行,進入函數內部;print <variable_name>
:打印變量值(如print x
);backtrace
(或bt
):顯示當前調用堆棧(用于排查函數調用問題);continue
(或c
):繼續執行至下一個斷點或程序結束;quit
:退出GDB。VS Code是輕量級圖形化編輯器,通過擴展支持C++調試,適合喜歡可視化操作的用戶。
Ctrl+Shift+P
,選擇“Configure Default Build Task”,選擇“g++ build active file”生成tasks.json
文件(用于定義編譯任務,需包含-g
參數);F5
,選擇“C++ (GDB/LLDB)”,配置launch.json
文件(指定調試器路徑和可執行文件路徑)。Ctrl+Shift+B
編譯項目,按下F5
啟動調試(可在代碼中設置斷點,通過調試面板查看變量和調用堆棧)。sudo apt install valgrind
,使用示例valgrind --leak-check=full ./your_program
。strace ./your_program
。