Chinaunix首页 | 论坛 | 博客
  • 博客访问: 212897
  • 博文数量: 40
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-24 21:57
文章分类

全部博文(40)

文章存档

2011年(4)

2010年(2)

2007年(34)

我的朋友

分类: LINUX

2007-08-25 11:31:44

gcc -g <原文件.c> -o <要生成的文件名>
-g 的意思是生成带原代码调试符号的可执行文件。
-o 的意思是指定可执行文件名。
如:/hyz/test.c 首先,用gcc -g test.c -o test ,,然后在该目录下输入gdb test就会进入相应的调试环境.

f(ile)  :指定一个可执行文件进行调试,gdb将读取些文件的调试讯息,如f a.exe

l(ist):列程序出源文件

r(un):装载完要调试的可执行文件后,可以用run命令运行可执行文件

b(reak):设置断点(break point),如b 25,则在源程序的第25行设置一个断点,当程序执行到第25行时,就会产生中断;也可以使用b funcnamefuncname为函数的名称,当程序调用些函数时,则产生中断

c(ontinue)c命令可以另中断的程序继续执行,直到下一个中断点或程序结束

p(rint):输入某个变量的值,如程序定义了一个int aa的就是,p aa就会输出aa的当前值

n(ext):程序执行到断点时中断执行,可以用n指令进行单步执行

s(tep):程序执行到断点时中断执行,可以用s指令进行单步执行进某一函数

kill: 终止正在调试的程序

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

 

watch: 使你能监视一个变量的值而不管它何时改变

 

make: 使你能不退出gdb就可以重新产生可执行文件

 

shell:使你能不退出gdb就可以执行shell命令

 

q(uit):退出GDB


删除指定的某个断点:
(gdb) delete breakpoint 1
该命令将会删除编号为1的断点,如果不带编号参数,将删除所有的断点
(gdb) delete breakpoint


禁止使用某个断点
(gdb) disable breakpoint 1
该命令将禁止断点 1,同时断点信息的 (Enb)域将变为 n


允许使用某个断点
(gdb) enable breakpoint 1
该命令将允许断点 1,同时断点信息的 (Enb)域将变为 y


清除原文件中某一代码行上的所有断点
(gdb)clean number
注:number 为原文件的某个代码行的行号


whatis:识别数组或变量的类型
ptype:比whatis的功能更强,他可以提供一个结构的定义
set variable:将值赋予变量 set i 3


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