Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243449
  • 博文数量: 81
  • 博客积分: 1597
  • 博客等级: 上尉
  • 技术积分: 597
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-30 13:49
文章分类

全部博文(81)

文章存档

2024年(1)

2017年(1)

2015年(1)

2014年(1)

2013年(10)

2012年(10)

2011年(27)

2010年(30)

分类:

2011-09-30 08:39:48

原文地址:使用gdb调试C程序 作者:cnljh

一、首先要在gcc中用 -g参数生成调试信息例: gcc -g test.c -o test;
二、运行gdb并装入test: gdb test
三、使用gdb中的list命令(可简写成l)列出源码清单:l并回车
四、在gdb中如果不输入任何命令直接按回车则重复执行上次命令
五、在某行设置断点,如在每12行设置断点:break 12
六、在某个函数入口处设置断点,如在func函数入口处设置断点:break func
七、查看断点信息:info break
八、运行程序:r
九、运行程序后单条语句执行程序:n (也可打命令的全称next),使用s命令单步执行会进入子函数内部
十、继续执行程序:c
十一、打印变量的值:p (也可打命令的全称print)
十二、查看函数堆栈:bt
十三、退出函数:finish
十四、退出gdb:q
十五、删除断点:delete breakpoint 1;delete breakpoint 删除所有断点;
十六、暂时中止程序执行,再设置一个断点后再执行:CTRL+C,然后break,再按C键
十七、监视一个变量的变化情况,只要这个变量有变化就提示:watch 变量名
十八、装入要一个可执行文件:file
十九、终止正在执行的程序:kill

在gdb中输入命令的前几个字符后按tab键,系统会自动补全命令或列出所有这几个字符打头的命令,gdb中的所有命令均支持不打全命令就可执行命令。

阅读(458) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~