- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GDB的使用
1. GDB简介
调试器(比如象GDB)能让你观察另一个程序在执行时的内部活动,或程序出错时发生了
什么。 GDB主要能为你做四件事(包括为了完成这些事而附加的功能),帮助你找出程序中
的错误:
1. 运行你的程序,设置所有的能影响程序运行的东西。
2. 保证你的程序在指定的条件下停止。
3. 当你程序停止时,让你检查发生了什么。
4. 改变你的程序。那样你可以试着修正某个bug引起的问题,然后继续查找另一
个bug.
你可以用GDB来调试C和C++写的程序。(参考 *C 和C++)
部分支持Modula-2和chill,但现在还没有这方面的文档。
调试Pascal程序时,有一些功能还不能使用。
GDB还可以用来调试FORTRAN程序,尽管现在还不支持表达式的输入,输出变量,或类
FORTRAN 的词法。
GDB是free software,大家都可以免费拷贝。也可以为GDB增加新的功能,不过可
要遵守GNU 的许可协议。反正我认为GNU还是比较不错的:-) 就这句话:
Fundamentally, theGeneralPublicLicense isa licensewhich saysthatyou have
these freedoms and that you cannot take these freedoms away from anyone else.
RichardStallman是GDB 的始作俑者,另外还有许多别的GNU 的成员。许多人为此作出
了贡献。
2. 一个例子
原文中是使用一个叫m4 的程序。但很遗憾我找不到这个程序的原代码,所以没有办法
来按照原文来说明。不过反正是个例子,我就拿一个操作系统的进程调度原码来说明把,原
代码我会附在后面。
首先这个程序叫os.c是一个模拟进程调度的原程序(也许是个老古董了:-))。
先说明一下如何取得包括原代码符号的可执行代码。大家有心的话可以去看一下gcc
的man文件(在shell下打man gcc)。
gcc -g 原文件.c -o 要生成的文件名
-g 的意思是生成带原代码调试符号的可执行文件。
-o 的意思是指定可执行文件名。
(gcc 的命令行参数有一大堆,有兴趣可以自己去看看。)
反正在linux下把os.c用以上方法编译连接以后就产生了可供gdb使用的可执行文件。我
用gcc -g os.c -o os,产生的可执行文档叫os. 然后打gdb os,就可进入gdb,屏幕提示:
GDB is free software and you are welcome to 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.
GDB 4.16, Copyright 1995 Free Software Foundation, Inc...
(gdb)
(gdb)是提示符,在这提示符下可以输入命令,直到退出。(退出命令是q/Q) 为了尽量
和原文档说明的命令相符,即使在本例子中没用的命令我也将演示。首先我们可以设置gdb
的屏幕大小。键入:
(gdb)set width 70
就是把标准屏幕设为70列。
然后让我们来设置断点。设置方法很简单:break或简单打b后面加行号或函数名 比如
我们可以在main 函数上设断点:
(gdb)break main
或(gdb)b main
系统提示:Breakpoint 1 at 0x8049552: file os.c, line 455.
然后我们可以运行这个程序,当程序运行到main函数时程序就会停止返回到gdb 的提
示符下。运行的命令是run或r(gdb中有不少alias,可以看一下help,在gdb下打help)run
后面可以跟参数,就是为程序指定命令行参数。
比如rabcd,则程序就会abcd以作为参数。(这里要说明的是可以用setargs来指定参 数)。
打入r或ru
您可能关注的文档
- 2015年中级通信工程师考试综合业务能力真题及标准答案.doc
- 20162017QS世界大学排名TOP200.docx
- 2017年贵州省安顺市中考历史试卷(解析版).doc
- 2017美国文理学院排名.docx
- 2017美国本科公共关系专业学费列表.pdf
- 2017美国本科刑事司法专业ACT综合均分列表.pdf
- 2017美国本科化学专业TOEFL单项要求列表.pdf
- 2017美国本科运动训练专业录取率列表.pdf
- 元件辨认PCBA.ppt
- 2017美国本科金融专业录取率列表.pdf
- HIV整合位点的生物信息学分析_孙汉顺.pdf
- HCSCA110 HCNA-Security-CBSN 第十章 防火墙UTM技术V2.5.pdf
- ISO14001 2015 EMS换版考试题 带答案.pdf
- Java输入输出处理.ppt
- JEDEC标准文件:DGuide4-18A-WLBGA.pdf
- k31 附录6(异常状况处理)危险化学品安全作业工艺单元评分标准(通用单元)实际操作现场评分表.doc
- K31 附录7(异常状况处理)危险化学品安全作业工艺单元评分标准(特定单元)实际操作现场评分表.doc
- Kinetis K系列MCU的性能.pdf
- Lec09_MATLAB第九讲:文件操作.ppt
- ks98 PMA多功能控制器中文说明书.pdf
最近下载
- GBT . 色漆和清漆 防护涂料体系对钢结构的防腐蚀保护 第部分 表面类型和表面处理.docx VIP
- XXX集团ERP项目一期上线切换方案.doc
- 审计服务承诺及质量保证措施.docx VIP
- 人教版(PEP)小学六年级英语上册《Unit 1 How can I get there》大单元整体教学设计.docx
- 皮肤病学常见皮肤病治疗(98页).pptx VIP
- 诽谤和解承诺书范文.docx VIP
- chrome谷歌浏览器官方下载「chrome谷歌浏览器官方下载安卓」.docx VIP
- 华为任职资格标准管理三级.doc VIP
- 2022年秋高中数学必修第一册讲义(人教版).pdf VIP
- 初中文言文必背18个文言虚词(附记忆口诀)!.pdf VIP
文档评论(0)