gdb a.out 启动GDB, Makefile里记得加-g调试参数
set args 可指定运行时参数。(如:set args 10 20 30 40 )
show args 命令可以查看设置好的运行参数。
l --命令相当于list,从第一行开始例出原码。
直接回车表示,重复上一次命令
break 16 ---- 设置断点在源程序第16行处。或b 16
break func ---- 设置断点在函数func()入口处。
info break ---- 查看断点
r ----- 运行程序,run命令简写
n ---- 单条语句执行,next命令简写。
c ---- 继续运行程序,continue命令简写
p i ---- 打印变量i的值,print命令简写。
bt --- 查看函数堆栈。
delete 断点号 删除断点
clear 行号 删除某行断点
s -- 进入
finish --- 退出函数。
q --退出gdb。
(gdb) info threads 查看多线程
(gdb) thread 2 查看某个线程
(gdb) break frik.c:13 thread 28 if bartab > lim 对某个线程条件断点
gdb调试core的流程:
gdb -c ss_5635.core
file ./test
r #有些环境需要执行
b 88
跳到core处 bt 查看堆栈
上面的方法不好用的时候可以用这个:
gdb ss -c ss_5635.core
bt 4
bt 12
f 2
print *this
另外有个GDB命令的扩展库。
apt-get install lrzsz #一个直接拉拽上传的工具
mv gdbinit_stl_views-1.03.txt .gdbinit --把扩展库放根目录下