gdb调试学习
来源:互联网 发布:淘宝装修模板轮播大图 编辑:程序博客网 时间:2024/05/24 15:37
一般来说,GDB主要帮忙你完成下面四个方面的功能:
1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。
2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)
3、当程序被停住时,可以检查此时你的程序中所发生的事。
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 tstGNU 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) l7 {8 sum += i;9 }10 return sum;11 }1213 main()14 {15 int i;16 long result = 0;(gdb)
1 0
- 【GDB调试学习笔记】GDB调试入门
- 学习--GDB调试
- linux GDB调试学习
- GDB调试学习(一)
- GDB调试学习(二)
- GDB调试学习(三)
- GDB调试学习(四)
- GDB调试学习(五)
- GDB调试学习(六)
- GDB调试学习(七)
- gdb调试学习
- Linux学习--gdb调试
- 学习GDB调试(一)
- 学习GDB调试(二)
- 学习GDB调试(四)
- 学习GDB调试(五)
- GDB调试命令学习
- gdb调试学习
- 在为法人主体添加平衡段值时选不到相应的平衡段值
- 结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)
- ssh集成过程
- 我写新论文之感受
- 二值图像的腐蚀运算及其VC实现
- gdb调试学习
- if 函数
- Android 网络开发框架的选择
- tomcat的问题,以及自己的总结
- Linux 的cut命令
- PHP中::、->、self、$this操作符的区别
- Secure CRT设置 删除与上键出历史
- java实现短信群发功能
- The memory could not be "written"