gdb调试学习

一般来说,GDB主要帮忙你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。

4、动态的改变你程序的执行环境。

调试的程序如下;

[root@localhost ~]# cat tst.c 
#include <stdio.h>

int func(int n)
{
        int sum = 0, i;
        for(i = 0; i < n; i++)
        {
                sum += i;
        }
        return sum;
}

main()
{
        int i;
        long result = 0;
        for(i = 0; i<= 100; i++)
        {
                result +=i;
        }

        printf("result[1-100] = %d n", result);
        printf("result[1-250] = %d n", func(250));
}


 gcc -g tst.c -o tst  其中的-g参数用于保存调试的信息。



进入gdb调试界面:

[root@localhost ~]# gdb tst
GNU gdb (GDB) CentOS (7.0.1-45.el5.centos)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /root/tst...done.
(gdb) 


输入l命令来显示源码:

(gdb) l
7               {
8                       sum += i;
9               }
10              return sum;
11      }
12
13      main()
14      {
15              int i;
16              long result = 0;
(gdb) 

















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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值