发布于2026-07-19 阅读(0)
扫一扫,手机访问
在Ubuntu下调试C++代码,GCC加GDB这套组合拳是最经典的方案。下面一步步来,看看怎么用它们把问题揪出来。
编译时带上调试信息:编译命令里加上-g选项,这样生成的可执行文件里会嵌入调试符号,GDB才能读懂你的变量名、行号这些信息。命令很简单:
g++ -g -o myprogram myprogram.cpp启动GDB:用gdb命令把程序加载进来:
gdb myprogram
之后你就会进入GDB的交互界面,所有调试操作都在这里完成。
设置断点:断点是调试的起点。用break(或简写b)命令来标记暂停位置。比如想在main函数入口处停住:
break main
如果知道具体文件和行号,也可以直接写:
break myprogram.cpp:42跑起来:用run(或r)命令启动程序。程序会一直执行到第一个断点处停下,等你来检查。
run检查变量和执行流程:程序停住后,这是最常用的操作:
print variable_name:查看某个变量的当前值。next(或n):单步执行一行,如果遇到函数调用,不会跳进去。step(或s):单步执行,但会进入函数内部。continue(或c):继续执行,直到下一个断点。backtrace(或bt):查看当前调用栈,一目了然知道程序是怎么走到这的。frame(或f):切换堆栈帧,方便查看不同函数层的上下文。修改变量值:调试时想临时改个变量值来测试?用set variable命令:
set variable variable_name = newValue
这样就能在不重新编译的情况下,快速验证某些边界情况。
退出GDB:调试完用quit命令退出:
quit以上只是GDB最基础的操作。实际调试中,它还有条件断点、观察点、内存查看等高级功能,完全够对付大多数场景。如果遇到更复杂的调试需求,直接在GDB里输入help,或者翻翻官方文档,都能找到答案。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8