- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.1 GDB简介 GDB--GNU Debugger,是FSF的一个强大的命令行调试工具。虽然,它没有图形化的友好界面,但是它强大的功能也足以与微软的VC工具等媲美。 主要提供4个方面的功能: 指定启动程序的方式 可以在被调试的程序中设置断点,断点可以设置在程序源文件中的某一行、某函数的入口或满足某各条件时。 当程序被停住时,可以检查此时程序中所发生的事件 可以动态改变程序的执行环境。 6.1 GDB简介 GDB是一个命令行工具,其常用启动格式如下: gdb [executable-file] 使用GDB调试程序的注意事项: 在对源程序编译时要加-g选项,以使编译出来的程序中包含需要的调试信息。 在对源程序编译时最好不要对程序进行优化编译。 由于编译器在目标文件和可执行文件中加入了对源代码的引用,所以,为保证调试信息可用,源代码必须存在,且路径不能改变 6.1 GDB简介 例如: [root@jHL-RHL 6.3]# gdb hello GNU gdb Red Hat Linux (5.3post-018rh) Copyright 2003 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions.Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i386-redhat-linux-gnu... (gdb) ?GDB的提示符 6.1 GDB简介 GDB中的常用命令如下: 6.1 GDB简介 GDB中的常用命令如下: 6.2 使用GDB调试程序 6.2.1 基本操作 使用-g选项进行编译: gcc –g –Wall gcb_test.c –o gdb_test 启动并载入生成的可执行程序: gdb 可执行文件名 如 gdb gdb_test 在main函数入口点设置断点: break 函数名 如 break main 或 b main break 行号 如 break 34 使用run命令运行程序,将在断点处停下。 run 或 r run 参数表 参数表相当于命令行参数 使用next命令,可从断点处执行一行(不进入函数) next count 或 n count 使用step命令,可从断点处执行一行(进入函数) step count 或 s count 使用continue可恢复中断了的程序继续运行直到下一断点或程序结束。 continue 或 c continue ignore-count继续运行,并忽略后面若干断点 6.2.2 查看命令 list命令--查看源程序 list 行号--显示批定行号周围的源程序 list 函数名--显示指定函数代码 list—接着前一list命令继续显示源程序 where命令—查看当前程序运行位置 where print命令—查看程序中变量的值 print 变量名/ 数组名[下标]—显示指定变量或数组元素的值。 print 数组名[下标]@n--显示数组中从指定元素开始的n个元素的值。 whatis命令—查看变量的类型 whatis 变量名/函数名/数组名 ptype命令—查看变量的类型 ptype 变量名/函数名/数组名,此命令与whatis命令基本相同,只是能更好的显示结构体变量或数组的类型。 clear命令—清除断点 clear 行号/函数名 清除指定行或函数上的断点 delete命令—清除断点 delete--清除所有断点 delete 断点号--清除指定的断点 6.2.3 高级命令 设置条件断点: Break 行号 if 条件 如:break 21 if i=3,表示执行到第21行且i的值为3时停下。 condition breaknum exp--修改指定断点号处的停止条件为exp,无exp则删除条件 自动化调试 可以使用GDB提供的command命令来设置在停止点停止后运行的命令。也就是说,当运行的程序在被停止住时,我们可以让GDB自动运行一些别的命令。 commands命令的格式为: commands[bnum] command list
您可能关注的文档
- 描写冬天梅花的心情说说教案详解.ppt
- 民法第4章教案详解.ppt
- 民法通则(法律行为、代理)教案详解.ppt
- 民防知识教案详解.ppt
- 民国时期的清华大学教案详解.ppt
- 民汉关系调查教案详解.ppt
- 民航服务心理学1.2教案详解.ppt
- 民航---民用航空器的分类和应用教案详解.ppt
- 民航学院货物运送教案详解.ppt
- 民航运输发展史教案详解.ppt
- 2025年吉林职业技术学院单招职业适应性测试题库有完整答案.docx
- 2025年咸宁职业技术学院单招职业技能测试题库1套.docx
- 2025年吉林科技职业技术学院单招职业技能测试题库及答案(必刷).docx
- 2025年吉林通用航空职业技术学院单招职业适应性测试题库(夺分金卷).docx
- 2025年吉林省通化市单招职业倾向性测试题库(精选题).docx
- 2025年吉林科技职业技术学院单招职业技能测试题库【word】.docx
- 2025年吉林省辽源市单招职业倾向性测试题库最新.docx
- 2025年吉林省经济管理干部学院单招职业适应性测试题库汇编.docx
- 2025年吉林省经济管理干部学院单招职业适应性测试题库及1套完整答案.docx
- 2025年哈尔滨职业技术学院单招职业倾向性测试题库及答案(必刷).docx
最近下载
- 2012年全国用户供电可靠性指标-电力可靠性.PDF VIP
- 乙肝相关性肾炎的病理诊断及治疗进展_培训课件.ppt VIP
- 低温低压环境下冻干机冷阱盘管表面结霜特性的多维度解析与优化策略.docx
- 小型汽车定点维修保养服务方案.docx VIP
- ADAM-4055快速入门手册.pdf VIP
- 公路施工监理工艺流程图-必读.doc VIP
- 2025年白云区七年级下学期期末数学考试卷(学生版).docx VIP
- 奥的斯电梯安装使用及维护保养说明(1).pdf VIP
- 安徽亳州蒙城城建集团招聘笔试真题2022.docx VIP
- 1基建一体化管理配网示范工程精细化设计施工工艺标准变配电土建部分征求意见稿.doc VIP
文档评论(0)