第7章 调试工具

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7章
调试工具

GDB简介及安装 GDB常用命令 GDB调试实例 其他调试工具
7.1
GDB简介及安装
同GCC编译器一样,GDB(GNU Debugger)也是由GNU计划 完成的、受通用公共许可证(GPL)保护的自由软件。GDB是 一个功能强大的交互式程序调试工具,主要工作在字符模式下 。GDB不仅可以用来调试C/C++语言编写的程序,还可以用来 调试Pascal、Objective-C、以及Fortran等语言编写的程序。 GDB调试器的LOGO如图所示。
7.2.1
GDB基本命令
GDB基本命令包括GDB的启动与退出、载入程序、列出源 代码、执行程序以及使用帮助功能等,下面来介绍各条 命令的使用方法。 1.GDB的启动与退出 2.载入程序 3.列出源代码 4.执行程序 5.使用帮助功能
7.2.2
断点设置与管理
断点设置即在调试的程序中设置断点,断点管理包括查看断 点信息、删除或禁用断点等。 1.设置断点(break) 2.查看断点信息(info break) 3.删除指定的断点(d) 4.删除指定行上的断点(clear) 5.禁用指定的断点(disable) 6.恢复指定的断点(enable) 7.设置观察点(watch)
7.2
GDB常用命令
GDB调试器有很多命令,从简单的文件载入、断点设置, 到复杂的内存查看、信号捕捉等,由于篇幅关系,我们 只介绍GDB的一些常用命令,其他命令读者可以查看相 关的说明文档。在使用GDB调试程序之前,必须使用-g 选项编译源文件,以便将调试信息加入到要调试的程序 之中,而且-g选项不能和优化选项一起使用。
7.4
其他调试工具
GDB是基于字符界面的,Linux系统下还有一些基于图形界面的 调试工具,如KDBG、XXGDB以及DDD等。用户只需要单击 菜单或按钮即可完成程序的调试,而不需要输入命令。其实这 些工具都是GDB的一层外壳,都保留着GDB的各种特性。
7.5
常见面试题
常见面试题1:GDB的主要功能是什么? 常见面试题2:使用GDB调试程序时,如何设置断点?
7.2.5
其他常用命令
GDB的命令很多,除了上面介绍的断点设置、数据显示、 程序执行等,还有一些命令比较常用,下面分别介绍。 1. 查看堆栈信息(backtrace、frame) 2. 查看源程序信息(info source) 3. 查看寄存器(info registers) 4.查看程序的汇编代码(disassemble)
7.2.3
数据显示与变量赋值
上面介绍了如何在程序中设置和管理断点,但只有断点没有 用,要跟踪程序的运行,必须能在断点处Байду номын сангаас看或修改变 量的值。 1.显示变量或表达式的值(print) 2.自动显示变量或表达式的值(display) 3.显示变量的数据类型(whatis、ptype) 4.修改变量的值(set)
7.2.4
程序执行与函数调用
上面已经介绍了run命令和continue命令,接下来介绍程序 执行相关的另外一些常用命令,以及函数调用的命令。 1.单步执行(step、next) 2.退出被调用的函数(return) 3.执行到指定行(until) 4.跳转执行(jump) 5.强制调用函数(call)
7.6
小结
这一章主要介绍了GDB调试器的安装方法及各类常用的命 令,并给出了具体的调试实例。熟悉了这里介绍的命令 后,读者基本上可以独立调试Linux系统下的C语言源程 序了。“工欲善其事,必先利其器”,调试工具和日常 的程序设计密切相关,读者应努力去掌握它,尤其是那 些还不习惯命令行工作的读者。
相关文档
最新文档