¶GDB 常用命令
基本指令
1 | // 其中 -o 指定输出文件名, -g 指定可以调试 -m64 选项编译为64位 |
常用命令表
命令 | 简写 | 说明 |
---|---|---|
list | l | 查看源码(10行) |
backtrace | bt, where | 打印函数栈信息 |
next | n | 执行下一行,逐行 |
step | s | 一次执行一行,逐过程,会步入 |
finish | 运行到函数结束 | |
continue | c | 继续运行 |
break | b | 设置断点 |
info breakpoints | 显示断点信息 | |
delete | d | 删除断点 |
p | 打印表达式的值 | |
run | r | 启动程序 |
until | u | 执行到指定行 |
info | i | 显示信息 |
help | h | 帮助信息 |
补充
list 行号
显示行号附近10 行
list 函数名
显示函数附近10 行
break 行号
在行号位置打断点
break 文件名:行号
在某文件行号位置打断点
break 函数名
在函数处打断点
break 文件名:函数名
在某文件内函数处打断点
info breakpoints
显示当前断点信息
Num
代表断点编号Type
代表断点类型Disp
代表断点被命中后,该断点保留(keep
),删除(del
),关闭(dis
)Enb
代表断点 enable(y
),disable(n
)Addreee
代表断点处虚拟内存地址What
代表断点源文件信息
delete
删除所有断点
delete Num
删除指定断点
enable Num
开启指定断点
enable once Num
断点 hit 一次之后关闭该断点
enable delete Num
断点 hit 一次之后删除该断点
disable Num
关闭指定断点
info locals
打印当前断点处所在函数的所有局部变量,不包括函数参数
print 变量或表达式
打印表达式的值,可显示当前函数的变量值,全局变量的值
next (N)
单步执行 (N 次) --> 不会进入函数内部
step (N)
单步执行 (N 次) --> 会进入函数内部
continue
继续
until N
执行到程序第 N 行
display varname
追踪变量
undisplay varnum
关闭追踪, varnum 可以由 info display
来查看
set follow-fork-mode [parent|child]
选择父子进程调试