gdb命令学习

GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。一般使用gdb进行调试主要完成下面三个方面的功能:

1、可以让程序在我们指定的断点处停住。

2、用print检查程序停住之后的各个环境参数和变量的情况,用于检查当程序运行没有达到要求或者出错时的具体情况。

3、通过set动态改变程序的执行环境。

gdb使用的方式:

1、编译成可执行文件:gcc -g gdb_test.c -o gdb_test

注意:记得使用参数-g,目的是将源代码的信息编译到可执行文件中。如果没有-g参数,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。这样调试时很难判断达到调试的效果。

2、启动gdb:

a)、只启动gdb,然后再加载文件:


b)、启动gdb的同时加载文件:


3、在文件中设置相应的断点

4、运行程序

基本命令:

1、list(l):查看程序,但list一次只能显示部分程序,这时你需要直序执行list查看全部程序


2、break(b)  函数名/行号/文件名:行号  :在对应位置设置断点



3、info(i)  参数:查看各类信息,例如查看设置的break点情况


4、delete(d) 断点编号:删除对应断点编号的断点


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

6、step(s):单步运行程序,但遇到函数时会进入函数里面执行。

7、continue(c):继续运行程序知道遇到断点或者程序运行结束为止

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

9、set var=value:设置变量值

10、quit(q):退出gdb

下面是我的测试用例程序

#include <stdio.h>

int result_print(int result)
{
        printf("The result is %d\r\n", result);

        return 0;
}

void main(void)
{
        int i = 1;
        int sum = 0;

        for (i = 1; i < 100; i++)
        {
                sum += i;
        }

        result_print(sum);
        sum = 0;
        for (i = 0; i <= 100; i = i + 2)
        {
                sum += i;
        }
        result_print(sum);

        return;
}

下面调试命令的使用:




上面的就是gdb的一些基本使用,仅作为记录以后便宜回忆和深入学习之后进行补充。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值