码迷,mamicode.com
首页 > 数据库 > 详细

Makefile (2) gdb

时间:2018-12-26 01:09:33      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:\n   cal   char   运行   函数名   mod   方式   退出   输入   

gdb调试


1.用debug的方式编译

 -g

2.打上断点

3.单步调试

  step into   进入函数里面
  step over   运行整个函数
  step return 跳出当前函数

 

4.继续运行

5.打印和监控值


下面是栗子:

 1  #include <stdlib.h>
 2  #include <stdio.h>
 3   ?
 4   static int add(int i)   //创建一个函数,循环10次,将传进来的数每次+1
 5   {
 6       
 7       for(int k=0;k<10;k++)
 8       {
 9           i += 1;
10       }
11       return i;
12   }
13   ?
14   int main(int argc, char const *argv[])
15   {
16       int ret;
17       ret = add(10);  //调用函数
18       printf("%d\n",ret);
19       return 0;
20   }

 

(1) 编译的时候,带调试编译

gcc test.c -g -o a.out

 

(2) 用gdb运行

 gdb a.out

 

(3) 打断点

  >>1.查看源码

l(ist)
  >>2.打断点
      b(reak) 函数名
      b(reak) 行号
      b(reak) 文件名:行号
      b(reak) 行号 if条件
  >>3.查看断点
info break(i b)
  >>4.删除断点
    d(elete)

-----------------------------------------------
 //1.先用 l 看源码

技术分享图片

 

技术分享图片

 //2.打断点
 //b 7 在第7行打断点
 技术分享图片//b add 在函数add打断点
  //3.查看断点 i b

技术分享图片

 

技术分享图片

  //4.删除断点 d <断点号>

 

(4) 调试

  1.r(un)         调试
  2.c(ontinue)    继续
  3.q(uit)        退出

 

  1.n(ext) --step next
  2.s(tep) --step into
  3.f(inish) --退出当前函数
  4.c(ontinue) --把剩下的执行完

 

(5) 打印值和监控值

  1. w(atch) x 监控x变量
  2. p(rint) x 把x值打印出来

(6) 神奇的wi --输入wi

技术分享图片

 技术分享图片

 

Makefile (2) gdb

标签:\n   cal   char   运行   函数名   mod   方式   退出   输入   

原文地址:https://www.cnblogs.com/kmist/p/10177167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!