生成调试信息
gcc -Wall -O2 -g 源文件
设置断点
b 函数名
b 行号
b 文件名:行号
b 文件名:函数名
b +偏移量
b -偏移量
b *地址
条件断点
b 断点 if 条件
反复执行断点
ignore 断点编号 次数
运行
run
显示栈帧
bt
bt full
bt N (显示开头N个栈)
bt -N (显示最后N个栈)
显示变量
p 变量
显示寄存器
info reg
p $eax
p/x $eax 十六进制
p/d $eax 十进制
p/u $eax 无符号十进制
p/o $eax 八进制
p/t $eax 二进制
p/a $eax 地址
p/c $eax 字符
p/f $eax 小数
p/s $eax 字符串
p/i $eax 机器语言
x/i $pc 显示执行的机器指令
x/10i $pc 显示10条要执行的机器指令
disassemble $pc $pc+50 显示汇编指令
单步执行
n 下一行代码
step 进入函数
继续执行
continue
监视点
watch <变量> 发生变化时停下
awatch <变量> 被访问、改变时暂停
rwatch <变量> 被访问时暂停
删除断点和监视点
info b
delete <编号>
清除断点
clear 函数名
clear 行号
clear 文件名:行号
clear 文件名:函数名
禁用断点
disable
disable 断点编号
disable display 显示编号
disable mem 内存区域
启用断点
enable
enable 断点编号
enable once 断点编号
enable delete 断点编号
enable display 显示编号
enable mem 内存区域
改变变量的值
set variable 变量=value
生成core文件
generate-core-file
$gcore 'pidof emacs'
attach 进程
attach pid
continue
历史命令
show history
选择要显示的栈
f N
显示函数
list
网友评论