05gdb入门(上)

n  基本框架:

a)         Gdb功能

b)         运行程序

c)         查看源码

d)         设置断点(break)与观察点(watch)

e)         单步调试

f)          Gdb常用命令总结

 

5.1        gdb功能

1)启动程序:

Run(r),另外启动程序的时候还可以带上参数(argv[1],argv[2]……)

2)    设置断点:

设置断点:break(b)  +行号/函数名

           另外设置断点的时候还可以用条件表达式(if)

             删除断点:delete(d) + 断点号

             查看断点:info break(i b)

3)      查看变量信息:

              Print  查看变量值

Ptype  查看变量类型

4)  动态改变程序的执行环境:

              Print  变量=value     动态改变程序运行时变量的值

 

5.2  运行程序

1)      run(r)  运行程序

2) run   + arg1  arg2…… (参数列表)

 

5.3  查看源码

1)      list(l)  查看最近10行源码

          l  2,10  查看第2行到第10行的源码

          l   ,15  查看最多到第15行的源码

2)  list +fun(函数名)       查看fun函数源码

3)  list +file:fun        查看file文件中的fun函数源码

4) list +file:15         查看file文件中的第15行左右的源码

 

5.4  设置断点(break)与观察点(watch)

1)      break  行号

2)  break  函数名

3)  break  file:行号

4)  break  file:函数名

5)  break  if <condition>      条件成立时程序停住

6) info    break(i b)         查看断点

7)  watch   expr             一旦expr值发生改变,程序就停住

8) delete   +断点编号       删除断点

 

5.5  单步调试

1)  continue(c)       运行至下一个断点

2)  step(s)          单步跟踪,进入函数,类似于VC中的step  in

3)      next(n)               单步跟踪,不进入函数,类似于VC中的step  out

4)      finish                  运行程序,直到当前函数返回,并输出函数的返回值。

5)  until                    退出循环体(for)

 

5.6  gdb常用命令总结

Run(r)                  运行程序

List(l)                   列出源代码

Break(b)              设置断点

Info break(i b)             查看断点信息

Continue(c)                   继续运行程序,直到下一个断点

Watch                       设置观察点,一旦观察值发生改变,程序就停住

Step(s)                           单步跟踪,进入函数,类似于VC中的step  in

Next(n)                          单步跟踪,不进入函数,类似于VC中的step  out

Finish                        退出函数,并输出函数的返回值。

Until(u)                     退出循环体

Print(p)                     查看变量值

 

一些细节知识:

1.在gdb调试过程中按Enter键代表重复执行上条命令;

2.几个退出命令的比较:

Until 退出循环(for)

Finish 退出函数

q    退出gdb

posted @ 2014-08-18 15:00  zhangkewei  阅读(156)  评论(0编辑  收藏  举报