在编译的时候加入-g,这样会显示变量名称,否则只会显示地址:
g++ -g main.cpp -o main
gdb 可执行文件名 启动GDB
常用指令:
list 列出源码
run 运行程序
break n 在源程序第n行加入断点
break 函数名 在源程序某个函数入口处加入断点,在该函数第一句话处
next 执行下一条指令
continue 执行到下一个断点
print 变量名 打印该变量的值
backtrace 查看函数堆栈
finish 退出所在的函数
quit 退出GDB
info break 查看断点信息
set var name=value 设置变量值
调试多线程
info thread 查看多线程
thread info 切换线程
set scheduler-locking on 只运行当前线程
set scheduler-locking off 所有线程均运行