在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。