GDB

 

简介

GDB是GNU发布的一款功能强大的程序调试工具。

GDB主要完成以下三方面的功能:
1. 启动被调试的程序。
2. 让被调试的程序在指定的位置停住。
3. 当程序被停住时,可以检查程序状态(如变量值)。

 

 

 起步

 1 #tst.c
 2 #include <stdio.h>
 3 void main()
 4 {
 5   int i;
 6   long result = 0;
 7   for(i=1;i<=100;i++)
 8   {
 9       result +=1;
10   }
11   printf("result = %d \n",result);
12 }

 

 

GDB快速进阶

1. 编译生成可执行程序。
 gcc -g tst.c -o tst 

2. 启动GDB
 gdb tst 

3. 在main函数出设置断点
 break main  或者  b main 

4. 运行程序
 run 

5. 单步运行
 next 

6. 继续运行
 continue 

7. 退出gdb
 quit 

 

 

启动GDB

方法1:gdb 调试程序名
例:  gdb hello 

方法2:gdb进入,然后 file 调试程序名
 gdb 
 file hello 

 

 

GDB命令

list(l)                 :查看程序

break(b) 函数名            :在某函数入口处添加断点

break(b) 行号                :在制定行添加断点

break(b) 文件名:行号    :在指定文件指定行添加断点

break(b) 行号 if 条件     :当条件为真时,指定行号处断点生效。

                例: b 5 if i=10  ,当i等于10时,第5行断点生效

info break        :查看所有设置过的断点

delete 断点编号     :删除断点

run(r)           :开始运行程序

next(n)           :单步运行程序(不进入子函数)

step(s)              :单步运行程序(进入子程序)

continue(c)           :继续运行程序

print(p) 变量名      :查看指定变量值

finish           :运行程序,直到当前函数结束。不是整个程序结束。

watch 变量名           :对指定变来那个

quit(q)              :退出gdb

 

posted @ 2018-10-20 22:36  doitjust  阅读(346)  评论(0编辑  收藏  举报