gcc,gdb用法

  • 切到文件项目下
gcc *.c -o app -g ----编译所有.c文件 生成文件---名为app -g添加调试信息
  • 执行生成的文件app
./app
  • 源文件:duwa.c
#include <stdio.h>
#include<stdlib.h>
void main()
{
    char  *words="每当浪潮来临的时候,你会不会也伤心(我当然也会伤心),在拥挤孤独的房间里,我已经透不过气";
    int i,j=0;
    for(i=0;i<10;i++)
    {
        j++;
    }
    printf("想和我们家松鼠去高级会所放松放松\n");
    getchar();
}
  • 切换到源文件目录下执行 gdb app(app是刚才生成的目标文件)

 开始进入调试模式

  • l 命令

输出结果:一次显示代码中的10行,按下回车会继续显示接下来的行

 

  • 按q回车退出调试模式
  •  l duwa.c:main  ----从文件duwa.c的main函数处开始调试信息

扫描二维码关注公众号,回复: 8396050 查看本文章
  •  加断点在12行,(拓展:如果变量等于某个值的时候,才设置断点,可以这样 b 15 if i==15)

 执行start,程序会停在断点处,显示执行的代码

  •  info或者写成i----执行i b可以查看断点信息

  •  start执行后,你可以继续执行n单步调试执行

  •  运行start后,查看变量类型: ptype 变量名

  •  查看变量: p变量名,撤销追踪变量 undisplay 变量名

  •  追踪变量 display 变量名-----display i,配合单步执行n,可以查看变量名的值,和执行情况

  • 如果调试需要,我需要直接查看循环8次后的信息可以运行set var i=8 

  •  进入循环后,跳出单次循环----相当于continue

  • 停止循环,----停掉断点,输入finish

猜你喜欢

转载自www.cnblogs.com/saintdingspage/p/12133145.html
今日推荐