- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux软件工程师C语言实用教程第1章
1.3 gdb调试器 1. gdb概述 Linux下的gdb调试器,是一款GNU组织开发并发布的UNIX/Linux下的程序调试工具。它没有图形化的友好界面,但功能强大。 在进行应用程序的调试之前,要注意的是gdb进行调试的是可执行文件,而不是如“.c”这样的源代码文件。因此,需要先通过gcc编译生成可执行文件才能用gdb进行调试。 1.3 gdb调试器 2. 使用gdb调试程序 例1-9:设计一个程序,要求输入两个整数,判断并输出其中的最小数。 步骤 1:编辑源程序代码: 1.3 gdb调试器 步骤 2: 用gcc编译程序 [root@localhost root]#gcc 1-9.c –o 1-9 –g 步骤 3: 进入gdb调试环境 [root@localhost root]#gdb 1-9 注意:gdb是命令行调试环境,调试程序都在提示符“(gdb)”后输入相应的命令,gdb的命令很多,可以在提示符“(gdb)”后输入help进行查找。 常用的gdb命令 1.3 gdb调试器 步骤 4: 用gdb调试程序 (1)查看源文件 在gdb中输入“l”(list)就可以查看程序源代码,一次显示10行; 注意:gdb命令“l”(list)列出源代码的时候,要确保原来的源程序还在,如果读者以为这象反汇编一样给出代码,那就错了,其实只是列出源文件的内容。特别提示:“list”+行号:查看指定位置的代码,如“list 1”就是从第一行开始列出源代码。 (2)设置断点 在gdb中设置断点命令是“b”(break),后面跟行号或者函数名。 如:(gdb) b 10 1.3 gdb调试器 (3)查看断点信息 用命令“info b”(info break)查看断点信息。 注意:gdb在一个程序中可以设置多个断点,有多个断点中断时,“Num”处显示断点序号。 (4)运行程序:输入“r”(run)开始运行程序。 注意:gdb默认从第一行开始运行,如果要从程序中指定行开始运行,只需输入“r”+行号。 (5)查看变量值 程序运行到断点处会自动暂停,输入“p 变量名” 1.3 gdb调试器 调试程序时,可能需要修改变量值,程序运行到断点处时,输入“set 变量=设定值”,例如给变量“a2” 赋值11,输入“set a2=11”。 gdb在显示变量值时都会在对应值前加“$n”标记,它是当前变量值的引用标记,以后想再引用此变量,可以直接使用“$n”,提高了调试效率 。 注意:查看变量值,不能在程序结束后。 1.3 gdb调试器 (6)单步运行 在断点处输入 “n”(next)或者“s”(step) 。它们之间的区别在于:若有函数调用时,“s”会进入该函数而“n”不会进入该函数。 (7)继续运行程序 输入“c”(continue)命令恢复程序的正常运行,把剩余的程序执行完,并显示执行结果。 (8)退出gdb环境:输入“q”(quit)命令。 思考题:此例中,如果比较的结果刚好相反,应该把断点设置在第几行?调试的时候还需要注意什么才能看出变量的值? 思考与实验 编写一个简单的c语言程序:输出两行文字“Linux下的c也不是太难嘛!”,在Linux下编辑、编译、运行。 编写一个简单的c语言程序:根据输入的两个整数求平均值并且在终端输出,通过gcc编译器得到它的汇编程序文件。 用gdb调试器调试上面第2题的程序,查看程序执行每一步变量的值,熟悉gdb的使用流程。 编写一个c语言程序:打印输出所有“水仙花数”,用gdb调试程序(给出步骤,至少十步以上)。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。 第 1 章 Linux系统程序设计基础 本章重点 编辑、编译及运行Linux c程序 gcc编译器的使用 gdb调试器的使用 1.1 第一个Linux c程序 例1-1:设计一个程序,要求在屏幕上输出“这是第一个Linux c程序!”。 步骤 1:设计编辑源程序代码 使用文本编辑器vim,在终端中输出: [root@localhost root]#vim 1-1.c 输入完成后存盘:按ESC键→输入“:wq”回车 1.1 第一个Linux c程序 步骤 2:编译程序 查看当前目录下是否有1-1.c文件,输入命令: [root@localhost root]#ls 1-1.c 编译: [root@localhost root]#gcc 1-1.c -o 1-1 [root@localhost root]# 步骤 3:运行程序 [root@localhost root]#ls 1-1.c 1-1 [root@localhost root
您可能关注的文档
- 17案例分析.ppt
- 4网络管理.ppt
- 8068的内部结构.ppt
- 7 重用模型.ppt
- aav品管新七大手法.ppt
- 09RNA的生物合成.ppt
- A1静电场.ppt
- Acm竞赛常用算法与数据结构推荐下载.ppt
- AFP白先生范女士案例新婚家庭,生涯规划理财案例规划PPT报告.ppt
- ajax详解教程讲述ajax原理.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- (文化产业概论.doc VIP
- 津市市教育局2012年春节团拜会朗诵词.doc VIP
- 护理请示汇报制度.pptx VIP
- 追寻(混声四部合唱)-降B调正谱 钢伴声乐正谱 PDF高清版.pdf
- 化学尖子生培养的几点体会.pptx VIP
- 室内装饰装修工程施工组织设计.doc
- 2024-2030年中国二次元服装行业市场全景调研及未来趋势研判报告.docx
- 第18课 世界主要国家的基层治理与社会保障-高二历史课件(选择性必修1:国家制度与社会治理).pptx VIP
- 绿色施工安全防护措施费用投入计划表GDAQ20109.xls
- 新教材2024版高中历史第六单元基层治理与社会保障第18课世界主要国家的基层治理与社会保障课件部编版选择性必修1.pptx VIP
文档评论(0)