以下是Ubuntu下C++调试的常用技巧及工具:
GDB(命令行调试)
sudo apt install gdbg++ -g -o program program.cppbreak <行号/函数名>:设置断点run:启动程序next/step:单步执行(跳过/进入函数)print <变量名>:查看变量值backtrace:查看调用栈。Visual Studio Code(图形化调试)
sudo snap install --classic codelaunch.json(选择GDB调试器)和tasks.json(配置编译参数,如-g)。F5启动调试,支持断点、变量监控、调用栈查看。内存与性能分析
valgrind --leak-check=full ./program。strace ./program。多线程/进程调试
info threads:查看线程列表thread <ID>:切换线程break <函数名> thread <ID>:设置线程专属断点。条件断点与观察点
break <行号> if <条件>,仅在满足条件时触发。watch <变量名>,变量值变化时中断。代码优化与调试标记
-O0禁用优化,保留调试信息。#ifdef DEBUG控制调试代码,避免影响正式版本。GDB或VS Code定位逻辑错误,结合backtrace分析调用栈。Valgrind检测内存问题,strace追踪系统交互。以上工具和技巧可显著提升Ubuntu下C++调试效率,根据项目需求选择合适方案即可。