• 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("想和我们家松鼠去高级会所放松放松
    ");
        getchar();
    }
    • 切换到源文件目录下执行 gdb app(app是刚才生成的目标文件)

     开始进入调试模式

    • l 命令

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

     

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

    •  加断点在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
  • 相关阅读:
    iOS 打电话 发邮件
    iOS
    varchar(50)能存50个汉字
    CSS 内联元素
    mysql修改用户密码的方法
    PHP error_reporting(0)
    索引数组和关联数组
    ubuntu文件夹右键没有共享选项
    Ubuntu安装samba的问题
    安卓.开发规范(高级)
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/12133145.html
Copyright © 2020-2023  润新知