GDB调试基础备忘

13 篇文章 0 订阅

调试前提

被调试程序在编译时要加入-g选项,这样才能产生供gdb调试使用的信息。
例:$ gcc -g hello.c

基本命令

(1)启动调试

gdb <可执行文件名>。执行此命令,只是为调试做好了准备,尚未启动被调试程序运行。此时进入调试界面。

(2)设置可执行文件参数。如无参数可省。 (gdb) set args 参数1 参数2 参数3 ...。查看用 (gdb) show args

(3)设置断点

(gdb) break <文件名:行号>。

例:(gdb) break hello.c:5  //则在hello.c文件的第5行设置断点。

(4)启动程序

(gdb) run 。此时被调试程序开始运行,并停在前面设置的断点处。

(5)单步执行

(gdb) next  //单步执行,如遇到函数直接跳过,不进入函数内部

(gdb) step  //单步执行,如遇到函数,会进入函数内部

(6)查看断点处状态

(gdb) print <变量名>     //查看变量

(gdb) list      //查看断点处附近代码

(gdb) x /<内存单元个数><显示方式><内存单元大小>  <内存起始地址>     //查看内存

如 (gdb)x /6xb pObj ,会打印出从pObj指向的内存地址开始的6个连续单元,显示格式为16进制,每个单元大小为一个字节,。

显示方式x 十六进制格式显示变量;d 十进制格式;u 十进制格式显示无符号整型;o 八进制格式;t 二进制格式;a 十六进制格式;i 指令地址格式;c 字符格式;f 浮点数格式。

内存单元大小b单字节;h双字节;w四字节;g八字节。

(7)继续执行。

(gdb) continue

(8)退出调试

(gdb) quit

转自:http://blog.csdn.net/smstong/article/details/7220622

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值