linux GDB调试程序

来源:互联网 发布:云计算是什么意思 编辑:程序博客网 时间:2024/06/02 09:09

GDB是GNU发布的一款程序调试工具

一:GDB的作用

        1:启动被调试的程序

         2:让被调试的程序在制定位置停住

         3:当程序停住时,可以检查程序的状态(如变量的值)

 

范例:1:编译生成可执行文件:

             gcc -g kaka.c -o kaka

             2:启动GDB

             gdb kaka

             3:在main函数处设置断点

              break main

              4:运行程序

              run

              5:单步执行

               next

              6:继续执行(连续执行)

              continue          

 

二:GBD命令

1:启动GDB

a)gdb filename

范例:gdb kaka

 

b)gdb

       file filename

范例:gdb

            file kaka

 

2:list(l)

作用:查看程序

范例:list

 

3:设置断点

a)break(b)  函数名

作用:在某个函数入口处添加断点

范例:break kaka

 

b)break (b) 行号

作用:在指定行添加断点

范例:break 22

 

c)break(b) 文件名:行号

作用:在制定文件的指定行添加断点

范例:break kaka 22

 

d)break(b) 行号 if条件

作用:当条件为真的时候,执行行号处断点

范例:break 22 if i = 22

 

4:info break

作用:查看所有设置的断点

范例:info break

 

5:delete 断点号

作用:删除断点

范例:delete 1

 

6:run(r)

作用:开始运行程序

范例: run

 

7:next(n)

作用:单步运行程序(不进入函数里)

范例:next

 

8:step(s)

作用:单步运行程序(进入函数里)

范例:step

 

9:continue(c)

作用:继续运行程序,知道程序断点,或者程序结束

范例:continue

 

10:print(p)变量名

作用:查看指定变量的值

范例:print i

 

11:finish

作用:运行程序,直到当前函数执行结束

范例:finish

 

12:watch 变量

作用:对指定变量进行监控

范例:watch i

 

13:quit(q)

作用:退出GDB

范例:quit