Chinaunix首页 | 论坛 | 博客
  • 博客访问: 801005
  • 博文数量: 104
  • 博客积分: 915
  • 博客等级: 下士
  • 技术积分: 2171
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 21:34
文章分类

全部博文(104)

文章存档

2018年(4)

2015年(14)

2014年(9)

2013年(56)

2012年(21)

分类: LINUX

2013-04-04 21:44:34


gdb调试对象是可执行文件,不是程序代码


1、使用gdb调试程序的时候,先使用 -g 告诉 gcc 在编译程序时加入调试信
       
    $ gcc -g test.c             (默认生成可执行程序a.out)            

2、启动gdb
    $ gdb  -q   a.out            (如果不加 -q ,则会输出一段版权说明)
    (gdb) file   a.out            (使用 file 命令装入要调试的程序)
    (gdb) list 4,8                 (显示程序源代码4-8行)
    (gdb) list get_sum         (显示程序源代码get_sum函数)
    (gdb) search get_sum (查找get_sum函数)
    (gdb) run                   (运行程序)
3、设置断点
    (gdb) break 7             (break设置第7行为断点)
    (gdb) run                   (运行,程序停在第7行)
    (gdb) break get_sum
    (gdb) run
    (gdb) break 7 if i==99
    (gdb) run
4、查看当前设置的断点
    (gdb) info breakpoints
5、使中断失效或有效
    (gdb) info breakpoints
    (gdb) disable 2         (使第二个断点失效)
    (gdb) enable 2          (使第二断点有效)
6、删除断点
    (gdb) clear 6             (删除断点6)
    (gdb) delete 2 3         (删除断点)
7、查看变量的值
    (gdb) print i                (显示当前i的值
    (gdb) print sum           (显示当前sum的值)
    (gdb) continue
    (gdb) whatis i (显示某个变量或者表达式值的数据类型)
8、控制程序执行
    (gdb) next
    (gdb) step
    (gdb) n
阅读(2172) | 评论(2) | 转发(0) |
0

上一篇:MySQL笔记

下一篇:批量修改文件后缀名

给主人留下些什么吧!~~

H_A_N2013-07-17 18:29:26

CU博客助理:嘉宾点评:作者的学习笔记, 记录了利用GDB调试简单的应用程序的大致流程。条理清晰,但较简单,适合作为自己的学习笔记使用。但作为博文,建议稍微详细介绍一下各子命令含意,再结合一个实例讲解,并提供相关源码。(感谢您参与“原创博文评选”获奖结果即将公布)

谢谢您的点评,前段时间有点忙,一直没关注,今天才看到您的点评,以后我会注意您说的这些点的。。。

回复 | 举报

CU博客助理2013-06-09 15:37:12

嘉宾点评:作者的学习笔记, 记录了利用GDB调试简单的应用程序的大致流程。条理清晰,但较简单,适合作为自己的学习笔记使用。但作为博文,建议稍微详细介绍一下各子命令含意,再结合一个实例讲解,并提供相关源码。(感谢您参与“原创博文评选”获奖结果即将公布)