GDB是C++开发中核心命令行调试器,需编译时加-g选项,支持断点设置(行号/函数/条件)、单步执行(next/step)、变量查看(print/display)及栈帧分析(backtrace/frame)。
GDB 是 C++ 开发中最常用的命令行调试器,掌握核心命令能快速定位崩溃、逻辑错误和内存问题。 不需要图形界面,一条命令就能打断点、查变量、单步执行——关键在于理解每个命令的触发时机和典型使用场景。
编译时必须加 -g 选项才能保留调试信息:
g++ -g -o myapp main.cppgdb ./myapp
run(可带参数,如 run arg1 arg2)Ctrl+C(会停在当前执行点)quit 或 q
断点是调试的起点,支持函数名、行号、条件等多种方式:
break 25 或 b 25
break mai
n、break MyClass::doWork
break 30 if x > 10
info breakpoints 或 info b
delete 2;清空全部:delete
让程序“动起来”,并精确控制每一步行为:
next 或 n
step 或 s
finish
continue 或 c
until 42(常用于跳过循环)调试的本质是观察和验证,重点看变量、栈帧和内存:
print x、p &ptr(地址)、p *ptr(解引用)display y;取消:undisplay
backtrace 或 bt
frame 1
info registers;查看某寄存器:print $rax
set var x = 42