- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《LinuxC从入门到精通》.明日科技.第06章.GDB调试工具
Logo Logo Logo Logo Logo Logo Logo Logo Logo Logo 初识gdb调试器 本讲大纲: gdb调试器概述 初识gdb调试简单程序 gdb调试器概述 无论是刚刚接触编程的初学者还是已经在编程工作上有着丰富经验的工程师,在编写一个程序时,往往会出现意想不到的错误,实现同一功能的程序算法可能是一样的,但是出现错误的原因却可能是千奇百怪的。因此在完成一个项目后,必不可缺的是对这个项目程序的调试与多次测试。gdb调试器就是在Linux平台上最常用的调试工具。通过设置断点、单步跟踪、显示数据等功能可以快速查找到故障点,对程序进行改正完善。 6.1.1 gdb调试器概述 在Linux平台下,GNU发布了一款功能强大的调试工具,称为gdb(GNU Debugger),该软件最早是由Richard Stallman编写的,gdb是一个用来调试C和C++程序的调试工具。其工作在命令模式下,需要通过输入命令来实现对应用程序的调试。通过此调试工具可以在程序运行时观察程序的内部结构和内存的使用情况。 关于gdb调试器,它是在终端,通过输入命令,进入调试界面的,在调试的过程中,也是通过命令来进行调试的。在终端中输入gdb命令,就可以进入到gdb调试的界面, gdb调试器主要实现三方面的功能,分别如下: (1)启动被调试的程序。 (2)使被调试的程序在指定位置停住。 (3)当程序被停住时,可以检查程序此时的状态,如变量的值。 为了使调试器实现上述三方面功能,可以使用如下五条命令进行操作。 (1)启动程序:启动程序时,可以设置程序的运行环境,使程序运行在gdb调试环境下。 (2)设置断点:在运行程序时,程序会在断点处停住,方便用户查看程序此时的运行情况,断点可以是行数,可以是函数名称或者条件表达式。 (3)查看信息:可以查看和可执行程序相关的各种信息。 (4)分布运行:可以使代码一句一句的执行,方便及时查看程序的信息。 (5)改变环境:可以在程序运行时改变程序的运行环境和程序变量。 初识gdb调试简单程序 使用gdb调试工具是通过在bash命令行中输入命令进行调试,虽然使用命令进行调试比较繁琐,没有使用类似visual c++6.0的可视化图形模式调试程序方便、易懂,但是一旦熟悉了这些调试的命令,可以体会到gdb调试工具所具有的独特的强大的功能。在学习gdb调试工具的基本功能与常用命令之前,先初步认识一下如何使用gdb调试工具进行调试。 例6.1 在vim编辑器中编写一个简单的C语言程序,使用冒泡排序算法实现一个数组的排序,使用gdb调试工具对此程序进行调试。 标题 gdb调试器的基本功能与常用命令 本讲大纲: 启动调试程序功能及其命令 使用断点功能及其命令 检查数据的功能及其命令 使用观察窗口功能及其命令 检查栈信息功能及其命令 检查源代码功能及其命令 改变程序的运行功能及其命令 启动调试程序功能及其命令 通过前一节介绍的简单的调试过程,已经了解了gdb调试工具的主要功能和几个简单的常用命令。gdb调试工具之所以可以成为Linux平台上应用最广泛的调试工具,是因为其具有强大的调试功能,接下来了解一下gdb调试工具的基本功能和相应的命令。以如下代码实例作为调试的一个程序,从应用中了解实现这些功能的命令是如何操作的。 例6.2 此例主要实现了输入年月日,判断这一天是一年中的第几天,该示例代码保存在year.c文件中, 6.2.1 启动调试程序功能及其命令 使用gdb调试程序,必须要让gdb可以获得程序的信息,因此需要在编译程序的时候加入参数g,编译命令如: gcc –g –o 可执行文件名 源程序文件名 生成一个带有调试信息的可执行文件,由此,可以使用如下命令语句加载可执行文件程序进入到gdb调试工具中。 gdb 可执行文件名 进入gdb调试工具的另一种方法是,可以先输入gdb命令(在命令行中输入gdb,回车),然后通过文件命令操作加载可执行文件。如 file 可执行文件名 进入gdb调试工具后,可以使用gdb命令run运行程序,在命令行中输入run,回车就可以运行程序。当调试结束,可以输入命令quit,回车退出gdb调试工具,也可以使用ctrl+d快捷键退出gdb调试工具。上述启动程序命令采用了在gdb命令中加载可执行文件的方式进入gdb调试工具中,实现过程 使用断点功能及其命令 设置断点是为了在该点处中断程序的运行,方便观察程序状态,并且可以单步跟踪后续代码。 (1)在gdb调试工具中使用break命令可以设置断点,如 //运行到某行停止运行 break 行号 //程序进入指定功能函数时停止运行 break 函数名称 //符合if语句条件时,运行到指定位置停止运
文档评论(0)