- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第四部分 调 试 工 具 第18章 程 序 调 试 将g l i b函数库、G t k +构件库、G n o m e库和G C C编译器结合起来可以用来开发非常复杂的应 用程序,足以满足绝大多数的商业应用。但是这些还不足以成为一个完整的开发平台。还需 要一个高效的调试器,特别是对较大型的应用程序,这一点更为重要。 Linux 包含了一个叫g d b 的G N U调试程序。 gdb 可以用来调试使C 、C + + 以及M o d u l a -2语 言开发的程序;根据g d b维护者的计划,今后还将支持 F o r t r a n语言。g d b是一个强劲的调试器, 提供了非常复杂的调试功能。它不仅能够用来调试 G U I应用程序,还可以用来调试非 G U I 的程 序、守护程序,甚至还可以将 g d b与正在运行的进程连接起来进行调试。可以用 g d b在程序运 行时观察程序的内部结构和内存的使用情况。 g d b是基于字符的调试器;同时,还有一个图形 界面的g d b版本,称为x x g d b 。实际上,x x g d b是将g d b做了一个封装,并提供了一个图形接口, 内部使用的还是g d b 。 g d b是G N U项目的一部分,它是基于 G P L许可协议的。也就是说,只要遵从 G P L协议,就 可以自由使用、修改、发布,且不需要为之付费。 下面是g d b和xxgdb 所提供的一些功能 : • 监视程序中变量的值。 • 设置断点以使程序在指定的代码行上停止执行。 • 让程序在指定条件下停止下来,检查程序的运行情况、表达式或变量的变化。 • 可以逐行执行程序代码。 • 运行中改变程序代码,可以直接体验修正 b u g后的效果。 这里我们先介绍g d b ,然后再介绍x x g d b 。 18.1 用gdb调试应用程序 18.1.1 为调试程序做准备 一般大多数L i n u x 的发布版本都包含了 g d b 。安装时若选择“全部安装”或“安装为开发 工作站”,就会安装g d b程序。在s h e l l提示符下输入以下命令: which gdb 如果安装了 g d b ,将会返回g d b 的安装路径,一般是 / u s r / b i n / g d b ,否则会什么也不显示。 可以在L i n u x发布版本的光盘上找到 g d b 的安装文件,一般是g d b - 4 . 1 8 . r p m或者g d b - 4 . 1 8 . t a r. g z 。 安装方法和普通的应用程序的安装方法一样,这里就不做介绍了。 要用g d b调试应用程序,当然首先得有应用程序。所以,要保证编写的应用程序没有语法 错误,并且已经调试通过。同时,为了使 g d b正常工作,必须使程序在编译时包含调试信息。 284使用第四部分 调 试 工 具 下载 调试信息包含了程序里的每个变量的类型和在可执行文件里的地址映射以及源代码的行号。 gdb 利用这些信息使源代码和机器码相关联。 在编译时用 -g 选项打开调试选项。 18.1.2 获得gdb帮助 在命令行上输入gdb 并按回车键就可以运行 gdb 了, 如果一切正常的话, 将启动 g d b ,可以 在屏幕上看到类似的内容 : GNU gdb 4.18 Copyright 1998 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 i586
文档评论(0)