首页 > 数据库技术 > 详细

gdb调试学习

时间:2014-03-12 01:00:05      阅读:611      评论:0      收藏:0      [点我收藏+]
一般来说,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) 

















gdb调试学习,布布扣,bubuko.com

gdb调试学习

原文:http://blog.csdn.net/huang2009303513/article/details/21025847

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!