欢迎来到天天文库
浏览记录
ID:9224782
大小:429.37 KB
页数:19页
时间:2018-04-23
《用gdb调试程序 - ubuntu中文》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、用GDB调试程序简单说明(Ubuntu中文)来源:http://wiki.ubuntu.org.cn/index.php?title=%E7%94%A8GDB%E8%B0%83%E8%AF%95%E7%A8%8B%E5%BA%8F&variant=zh-cn用GDB调试程序-Ubuntu中文用GDB调试程序用GDB调试程序(zz)作者:haoel(QQ是:753640,MSN是:haoel@hotmail.com)来源:http://blog.csdn.net/haoel/archive/2003/07/02/2879.
2、aspx目录[隐藏]GDB概述[编辑]1GDB概述2一个调试示例GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面3使用GDB方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具4GDB的命令概貌有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。5GDB中运行UNIX的shell程序一般来说,GDB主要帮忙你完成下面四个方面的功能:6在GDB中运行程序7调试已运行的程序1.启动你的程序,可以按照你的
3、自定义的要求随心所欲的运行程序。8暂停/恢复程序运行2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)8.1设置断点(BreakPoints)3.当程序被停住时,可以检查此时你的程序中所发生的事。8.2设置观察点(WatchPoint)4.动态的改变你程序的执行环境。8.3设置捕捉点(CatchPoint)从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会8.4维护停止点发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候,命令行的调试
4、工8.5停止条件维护具却有着图形化工具所不能完成的功能。让我们一一看来。8.6为停止点设定运行命令8.7断点菜单8.8恢复程序运行和单步调试一个调试示例[编辑]8.9信号(Signals)8.10线程(ThreadStops)源程序:tst.c9查看栈信息10查看源程序#include10.1显示源代码10.2搜索源代码intfunc(intn){10.3指定源文件的路径intsum=0,i;for(i=1;i<=n;i++)10.4源代码的内存{sum+=i;11查看运行时数据}returnsum;1
5、1.1表达式}11.2程序变量11.3数组intmain(){11.4输出格式inti;longresult=0;11.5查看内存for(i=1;i<=100;i++){11.6自动显示result+=i;11.7设置显示选项}11.8历史记录printf("result[1-100]=%ld",result);printf("result[1-250]=%d",func(250));11.9GDB环境变量return0;11.10查看寄存器}12改变程序的执行12.1修改变量值编译生成执行文件:12.2跳转执行
6、12.3产生信号量$gcc-g-Walltst.c-otst12.4强制函数返回12.5强制调用函数13在不同语言中使用GDB使用GDB调试:14后记15相关词条$gdbtst<----------启动GDBGNUgdb6.7.1-debianCopyright(C)2007FreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterThisisfreesoftware:youarefree
7、tochangeandredistributeit.ThereisNOWARRANTY,totheextentpermittedbylaw.Type"showcopying"and"showwarranty"fordetails.ThisGDBwasconfiguredas"i486-linux-gnu"...Usinghostlibthread_dblibrary"/lib/tls/i686/cmov/libthread_db.so.1".(gdb)l1<--------------------l命令相当于list,从
8、第一行开始列出源码。1#include23intfunc(intn)4{5intsum=0,i;第1页,共18页http://wiki.ubuntu.org.cn/index.php?title=用GDB调试程序&variant=zh-cn#.E8.87.AA.E5.8A.A8.E6.98.BE.E
此文档下载收益归作者所有