《zz用gdb调试程序》word版

《zz用gdb调试程序》word版

ID:30365860

大小:120.29 KB

页数:47页

时间:2018-12-29

《zz用gdb调试程序》word版_第1页
《zz用gdb调试程序》word版_第2页
《zz用gdb调试程序》word版_第3页
《zz用gdb调试程序》word版_第4页
《zz用gdb调试程序》word版_第5页
资源描述:

《《zz用gdb调试程序》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、zz用GDB调试程序用GDB调试程序说明从CSDN的网站上找到的GDB使用说明。原文标题:用GDB调试程序作者:haoel(QQ是:753640,MSN是:haoel@hotmail.com)关键字:gdb调试cc++gun这篇文章非常好,所以转载了下来,作为收藏。GDB概述GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。

2、所谓"寸有所长,尺有所短"就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、动态的改变你程序的执行环境。从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候,命令行的调试工具却有着图形化工具所

3、不能完成的功能。让我们一一看来。一个调试示例源程序:tst.c1#includestdio.h23intfunc(intn)4{5intsum=0,i;6for(i=0;in;i++)7{8sum+=i;9}10returnsum;11}121314main()15{16inti;17longresult=0;18for(i=1;i=100;i++)19{20result+=i;21}2223printf("result[1-100]=%d",result);24printf("result[1-250

4、]=%d",func(250));25}编译生成执行文件:(Linux下)hchen/testcc-gtst.c-otst使用GDB调试:hchen/testgdbtst--启动GDBGNUgdb5.1.1Copyright2002FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitunder

5、certainconditions.Type"showcopying"toseetheconditions.ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.ThisGDBwasconfiguredas"i386-suse-linux".(gdb)l--l命令相当于list,从第一行开始例出原码。1#includestdio.h23intfunc(intn)4{5intsum=0,i;6for(i=0;in;i++)7{8sum+=

6、i;9}10returnsum;(gdb)--直接回车表示,重复上一次命令11}121314main()15{16inti;17longresult=0;18for(i=1;i=100;i++)19{20result+=i;(gdb)break16--设置断点,在源程序第16行处。Breakpoint1at0x8048496:filetst.c,line16.(gdb)breakfunc--设置断点,在函数func()入口处。Breakpoint2at0x8048456:filetst.c,line5.(g

7、db)infobreak--查看断点信息。NumTypeDispEnbAddressWhat1breakpointkeepy0x08048496inmainattst.c:162breakpointkeepy0x08048456infuncattst.c:5(gdb)r---运行程序,run命令简写Startingprogram:/home/hchen/test/tstBreakpoint1,main()attst.c:17--在断点处停住。17longresult=0;(gdb)n---单条语句执行,ne

8、xt命令简写。18for(i=1;i=100;i++)(gdb)n20result+=i;(gdb)n18for(i=1;i=100;i++)(gdb)n20result+=i;(gdb)c---继续运行程序,continue命令简写。Continuing.result[1-100]=5050--程序输出。Breakpoint2,func(n=250)attst.c:55intsum=0,i;(gdb)n6for

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。