GDB调试

1.编译时加“-g”选项

如gcc -g -0 hello.c

2. gdb hello

3.常用的调试命令,可以简写

命令 意义 用法
list 从第一行开始列出源码(默认10行)   l 
  l 3 (开始行)
break

设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。 
其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编,可以不予理会此用法。

  b <行号> 
  b <函数名称> 
  b *<函数名称> 
  b *<代码地址>

run 开始调试程序   r
continue 继续执行被调试程序,直至下一个断点或程序结束。   c
clear 删除特定行的断点   clear <行号>
delete 删除断点,编号从1开始   d <编号>
next line 执行一行源程序代码,此行代码中的函数调用也一并执行。   n
step line 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数   s
until 结束当前循环   until
print 可以检查各个变量的值,数组的值,以及函数等 print p (p为变量名) 
print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值) 
显示数组: p <数组名> 
显示数组元素:p <*数组指针> 
显示数组int a[N]的特定值: 
① p *a@10 
② p (int [10])*10 
whatis 可以显示某个变量的类型 whatis p
info 用于显示各类信息 如:info b 显示断点信息 
info r 寄存器信息 
info local 显示当前函数中的局部变量信息 
info prog 显示被调试程序的执行状态
quit 退出gdb调试 q


本文参考,特此声明:

http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml

http://blog.youkuaiyun.com/liigo/article/details/582231

http://www.cnblogs.com/dodolook/archive/2011/05/31/2064363.html


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值