gdb简单使用调试

来源:互联网 发布:黑龙江网络电视台直播 编辑:程序博客网 时间:2024/05/18 20:33

gdb 可执行程序     注意调试可执行程序的时候编译成可执行程序一定要加参数-g(生成调试信息)

进入gdb调试环境的命令:

普通调试:

r 运行可执行程序,如果断点了就运行到第一个断点处停止

c     继续执行程序,直接运行到下一个断点或者到程序结束

b  行号 断点到这一行

b 函数名称 断点到这个函数

d 编号(delete breakpoint) 删除断点,断点编号从1开始

s 单步跟踪进入,如果执行函数时会跟进去

n 单步跟踪,如果执行函数时不会跟进去,而是直接执行完函数

p 变量名称 打印你想查看的变量值

l 行号或者(file:行号) 查看源码,列出源码

ctrl+a+x 断点同步源代码,非常好用

info break 可列出所有断点信息,info break 后也可设置要查看的break num如:

info break 1 列出断点号是1的断点信息


delete可删除单个断点,也可删除一个断点的集合,这个集合用连续的断点号来描述。
例如:
delete 1
delete 1-10


i 显示各类信息,详细用help命令查看帮助文档

q 退出gdb调试

help 命令名称 查看命令帮助文档



汇编调试:

b *函数名称 汇编断点调试

b *代码地址 汇编断点调试

si 汇编单步跟踪进入

ni 汇编单步跟踪

display  display设置程序中断后想显示的数据及其格式  例如,如果希望每次程序中断后可以看到即将被执行的下一条汇编指令,可以使用命令 “display /i $pc”

其中 $pc 代表当前汇编指令,/i 表示以十六进行显示。当需要关心汇编代码时,此命令相当有用

undisplay取消原先的display设置,编号从1开始递增




普通调试例子

用gdb调试a.out



l 1



b add



ctrl+a+x



p c



q