- 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的命令很多,本文不会全部介绍,仅会介绍一些最常用的。在介绍之前,先介绍GDB中的一个非常有用的功能:补齐功能。它就如同Linux下SHELL中的命令补齐一样。当你输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令。如果有其它命令的前几个字符与此相同,你会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出。而GDB中的补齐功能不仅能补齐GDB命令,而且能补齐参数。- l4 v1 g7 X8 M* N6 ]. A本文将先介绍常用的命令,然后结合一个具体的例子来演示如何实际使用这些命令。下面的所有命令除了第一条启动GDB命令是在SHELL下输入的,其余都是GDB内的命令。大部分GDB内的命令都可以仅输入前几个字符,只要不与其它指令冲突。如quit可以简写为q,因为以q打头的命令只有quit。List可以简写为l,等等。% ^1 }! b. Z. C r1.启动GDB$ ~ D! i3 k; ]你可以输入GDB来启动GDB- e5 K) k; c3 q$ e3 T8 O程序8 s( X5 x* J* X。GDB程序有许多参数,在此没有必要详细介绍,但一个最为常用的还是要介绍的:如果你已经编译好一个程序,我们假设文件名为hello,你想用GDB调试它,可以输入gdb hello来启动GDB并载入你的程序。如果你仅仅启动了GDB,你必须在启动后,在GDB中再载入你的程序。, M# g) ]. z, G, I7 Y9 H2.载入程序 === file, ]# R; f4 _??w- C! C2 w??}在GDB内,载入程序很简单,使用file命令。如file hello。当然,7 L. s e1 p9 k! ]5 D程序: `8 W, @3 O I p1 ^的路径名要正确。4 F- o- d. x* b3 H0 g0 ^. h+ _退出GDB === quit??^) x5 ^# I2 e6 J7 V在GDB的命令方式下,输入quit,你就可以退出GDB。你也可以输入C-d来退出GDB。: V% ^* ~0 b9 s3 i3.运行程序 === run: _??a3 O( A1 p: D3 W当你在GDB中已将要调试的程序载入后,你可以用run命令来执行。如果你的1 \8 u6 S9 I??D, Z x% L6 Y程序 e$ y% A2 ]( x5 N J??T3 Z需要参数,你可以在run指令后接着输入参数,就象你在SHELL下执行一个需要参数的命令一样。??s6 e) H3 v: ]* j* f# |4.查看程序信息 === info/ \4 M# N1 T: C b??x: M* |5 s1 ?info指令用来查看程序的信息,当你用help info查看帮助的话,info指令的参数足足占了两个屏幕,它的参数非常多,但大部分不常用。我用info指令最多的是用它来查看断点信息。 b8 [( D9 o {- _. p/ A* Z. T- Z! L4.1 查看断点信息( e i5 b) M0 x1 ^ _. @3 X V tinfo br4 ?- E5 d2 D7 Ibr是断点break的缩写,记得GDB的补齐功能吧。用这条指令,你可以得到你所设置的所有断点的详细信息。包括断点号,类型,状态,内存地址,断点在源程序中的位置等。/ R/ U; a! X! w# L4.2 查看当前源程序, a9 |9 J7 I. E6 Linfo source/ p X5 K2 Y$ o2 T% s, i4.3 查看堆栈信息) t, f- I s: X/ n# S! Dinfo stack( l7 \! l; z1 B+ D用这条指令你可以看清楚程序的调用层次关系。% z; M0 A1 Y0 f- M7 x4.4 查看当前的参数1 U??Y* |. u. D( [1 |+ l* Jinfo args+ m% z$ P3 E( t f0 ~5.列出源一段源# D; ?% w8 G p7 |* v u程序( d4 }( z0 z/ O# F??V! o=== list! b. {5 a2 _- C# S k4 i% N5.1 列出某个函数??T1 A; Y+ W??~- v+ p% F nlist FUNCTION 3 U0 I: u) j$ q; J0 Y- a.2 以当前源文件的某行为中间显示一段源程序; v! ]! ?2 @: N: i??@ `list LINENUM$ \$ C( ]4 ~# |??t5.3 接着前一次继续显示9 k5 [ r) Y4 k, o% H7 Jlist* C9 p3 i
您可能关注的文档
最近下载
- 智慧城市云计算大数据中心项目深化设计方案(403页word).docx VIP
- 全国高中青年数学教师优质课大赛一等奖《基本不等式》教学设计.doc VIP
- 中华民族共同体概论第一讲 中华民族共同体基础理论part1.pptx VIP
- 儿童绘本改编与创作教案.pdf VIP
- JGJ-T291-2012:现浇塑性混凝土防渗芯墙施工技术规程.pdf VIP
- 实施指南《GB_T18944.2-2022柔性多孔聚合物材料海绵和发泡橡胶制品规范第2部分:模制品与挤出制品》实施指南.docx VIP
- 2022新能源风电场接入集控中心技术方案.doc VIP
- 白头翁的故事培智.ppt VIP
- 应聘人员登记表单.docx VIP
- 5S_培训教材.ppt VIP
文档评论(0)