关闭

linux下C语言的调试(1)

标签: linuxC语言调试GDB
655人阅读 评论(0) 收藏 举报
分类:

编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。

  1. #include <stdio.h>  
  2.   
  3. int iterate(int value)  
  4. {  
  5.     if(1 == value)  
  6.         return 1;  
  7.   
  8.     return iterate(value - 1) + value;  
  9. }  
  10.   
  11. int main()  
  12. {  
  13.     printf("%d\n", iterate(10));  
  14.     return 1;  
  15. }  
    既然需要调试,那么生成的可执行文件就需要包含调试的信息,这里应该怎么做呢?很简单,输入 gcc test.c -g -o test。输入命令之后,如果没有编译和链接方面的错误,你就可以看到 可执行文件test了。

    调试的步骤基本如下所示,


(01) 首先,输入gdb test
(02) 进入到gdb的调试界面之后,输入list,即可看到test.c源文件
(03) 设置断点,输入 b main 
(04) 启动test程序,输入run 
(05) 程序在main开始的地方设置了断点,所以程序在printf处断住
(06) 这时候,可以单步跟踪。s单步可以进入到函数,而n单步则越过函数
(07) 如果希望从断点处继续运行程序,输入c
(08) 希望程序运行到函数结束,输入finish
(09) 查看断点信息,输入 info break
(10) 如果希望查看堆栈信息,输入bt
(11) 希望查看内存,输入 x/64xh + 内存地址
(12) 删除断点,则输入delete break + 断点序号
(13) 希望查看函数局部变量的数值,可以输入print + 变量名

(14)希望修改内存值,直接输入 print  + *地址 = 数值
(15) 希望实时打印变量的数值,可以输入display + 变量名
(16) 查看函数的汇编代码,输入 disassemble + 函数名
(17) 退出调试输入quit即可

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Linux环境下使用GDB调试C程序

写这篇博客的目的是为了对gdb的常用命令做一个备忘,记录回顾下使用gdb的过程加深记忆。gdb是linux环境下一个非常著名的C语言调试工具,而且也非常的好用,对于解决C语言的各种bug非常拿手,对于...
  • growdane
  • growdane
  • 2016-03-20 17:03
  • 3274

Linux下C程序的编辑,编译和运行以及调试

Linux下C程序的编辑,编译和运行以及调试 国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html ...
  • matricer
  • matricer
  • 2016-03-09 16:00
  • 5164

linux 中C语言便于调试的宏定义编写及 __FILE__,__FUNCTION__, __LINE__参数使用

在linux编程中,当文件数量变的众多之后,使用gdb调试就是一场灾难。因此在程序中加入合理的打印信息,定位错误出现的文件名,函数名,行号等信息,能更高效的定位到问题的所在。      下面定义了宏...
  • edonlii
  • edonlii
  • 2013-01-10 20:43
  • 7268

Linux下C语言线程池的实现(1)

Linux下C语言线程池的实现(1) 2010-08-07 16:25 什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程...
  • tanqiuwei
  • tanqiuwei
  • 2012-01-04 20:46
  • 437

Linux下C语言学习之路——(1)系统开发环境搭建以及一些常用指令

主要是跟着慕课网上的一个名叫《Linux C语言编程基本原理与实践》的课程学习,视频短小精悍,都是干货。我首先在win10下安装了VirtualBox   Ubuntu虚拟机,简单安装配置Vim编辑器...
  • qq_18666111
  • qq_18666111
  • 2016-11-01 08:50
  • 84

【C语言】开发工具--Linux下调试工具GDB的使用

来自 csdn博客 用GDB调试程序 用GDB调试程序 GDB概述 ———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像V...
  • chenglibin1988
  • chenglibin1988
  • 2013-03-29 20:58
  • 675

Linux下C语言程序简单的编写和调试

1.建一个目录2.写代码,建一个hello.c文件代码:view plaincopy to clipboardprint?#include "stdio.h"   main()  {  printf(...
  • HDUTigerkin
  • HDUTigerkin
  • 2011-07-26 22:50
  • 2587

Linux下C语言的调试(2)

调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提...
  • huangfei711
  • huangfei711
  • 2015-07-06 22:52
  • 380

Linux下C语言的调试

GDB的基本调试说明  --------------------- 调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同...
  • chencheng126
  • chencheng126
  • 2015-02-26 09:57
  • 343

Linux下C语言的调试

调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提...
  • SzMinglove
  • SzMinglove
  • 2012-12-02 18:46
  • 309
    个人资料
    • 访问:270930次
    • 积分:4311
    • 等级:
    • 排名:第8158名
    • 原创:160篇
    • 转载:17篇
    • 译文:1篇
    • 评论:164条
    博客专栏
    最新评论