Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1217031
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: LINUX

2013-01-10 13:45:00

一、用gcc -g参数加入调试信息
        $gcc -g test.c

二、进入gdb 调试模式
        gdb a.out

三、进入调试模式中一些基本命令
(gdb)break(b) (function/line)  设置断点
(gdb)info(i) break(b)  列出断点
(gdb) print(p) 变量名    输出变量数值
(gdb) r(run)   运行程序
(gdb) n(next)  单步执行程序
(gdb) list/l     列出源代码
 (gdb) bt          查看函数堆栈

 (gdb) finish      退出函数

 (gdb) set args 参数:   指定运行时的参数

 (gdb) show args:  查看设置好的参数

 (gdb)pwd :   显示当前所在目录

 (gdb)info program: 来查看程序的是否在运行,进程号,被暂停的原因。

 (gdb)clear 行号n:   清除第n行的断点

 (gdb)delete 断点号n:   删除第n个断点

 (gdb)disable 断点号n:   暂停第n个断

 (gdb)enable 断点号n:  开启第n个断点

 (gdb)until:   当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体。


watch 使你能监视一个变量的值而不管它何时被改变. 
list ( l )列出产生执行文件的源代码的一部分. 
next ( n )执行一行源代码但不进入函数内部. 
step ( s )执行一行源代码而且进入函数内部. 
finish 运行到当前函数结束为止
frame ( f ) 选择栈帧

run 执行当前被调试的程序 
quit 终止 gdb 

file 装入想要调试的可执行文件. 
kill 终止正在调试的程序. 

break 在代码里设置断点, 这将使程序执行到这里时被挂起. 
make 使你能不退出 gdb 就可以重新产生可执行文件. 
shell 使你能不离开 gdb 就执行 UNIX shell 命令.

利用print 命令可以检查各个变量的值。

whatis 命令可以显示某个变量的类型

从断点继续运行:countinue 命令

显示当前gdb的断点信息: info break

删除指定的某个断点: delete breakpoint 1

禁止使用某个断点 disable breakpoint 1

允许使用某个断点  enable breakpoint 1



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