- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
gcc编译与gdb调试的基本用法 华迪教育 华迪信息 1.gcc编译选项 gcc(GNU Conpiler Collection)是GNU组织下为C、C++、Objective-C、Java、Fortran、Ada等编程语言提供的编译器,它是彻底的自由软件,持有GPL许可证。在Unix、Linux下,gcc编译器的功能十分强大,它的使用方法并非我们常见的窗体程序,而是命令行,下面就对gcc的用法做个简单介绍。 gcc、g++,针对GNU工程的C、C++编译器 gcc [option | filename]…… 1.1基本描述 C /C++ 编 译 器 是 集 成 的 。他 们 都 要 用 四 个 步 骤 中 的 一 个 或 多 个 处 理 输 入 文 件 : 预 处 理 (preprocessing), (compilation), 汇 编 (assembly) 和 连 接 (linking)。源 文 件 后 缀 名 标 识 源 文 件 的 语 言 , 但 是 对 编 译 器 来 说 , 后 缀 名 控 制 着 缺 省 设 定 –O3等,优化选项不同,优化程度越高意味着编译、链接过程越慢 -l 链接库,包括动态库.so文件和静态库.a文件 -L 目录选项,添加有哪些信誉好的足球投注网站路径,如 ~/usr/lib等 -w/-W 警告选项,为程序提供诊断信息 详见manpage:man gcc 2.gdb调试 GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作 命令 解释 示例 file 文件名 加载被调试的可执行程序文件。因为一般都在被调试程序所在目录下执行GDB,因而文本名不需要带路径。 (gdb) file gdb-sample r 如果此前没有下过断点,则执行完整个程序;如果有断点,则程序暂停在第一个可用断点处。 (gdb) r c 继续执行被调试程序,直至下一个断点或程序结束。 (gdb) c b 行号b 函数名称b *函数名称b *代码地址 d [编号] 设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编,可以不予理会此用法。删除指定编号的某个断点,或删除所有断点。断点编号从1开始递增。 (gdb) b 8(gdb) b main(gdb) b *main(gdb) b *0x804835c(gdb) d s/step, n/next s: 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数;n: 执行一行源程序代码,此行代码中的函数调用也一并执行。s 相当于其它调试器中的“Step Into (单步跟踪进入)”;n 相当于其它调试器中的“Step Over (单步跟踪)”。 这两个命令必须在有源代码调试信息的情况下才可以使用(GCC编译时使用“-g”参数)。 (gdb) s(gdb) n si, ni si命令类似于s命令,ni命令类似于n命令。所不同的是,这两个命令(si/ni)所针对的是汇编指令,而s/n针对的是源代码。 (gdb) si(gdb) ni p 变量名称 显示指定变量(临时变量或全局变量)的值。 (gdb) p i(gdb) p nGlobalVar display ... undisplay 编号 display,设置程序中断后欲显示的数据及其格式。例如,如果希望每次程序中断后可以看到即将被执行的下一条汇编指令,可以使用命令“display /i $pc”其中 $pc 代表当前汇编指令,/i 表示以十六进行显示。当需要关心汇编代码时,此命令相当有用。undispaly,取消先前的display设置,编号从1开始递增。 (gdb) display /i $pc(gdb) undisplay 1 i/info 用于显示各类信息,详情请查阅“help i”。 (gdb) i r q 退出GDB调试环境。 (gdb) q help [命令名称] 如果指定了“命令名称”参数,则显示该命令的详细说明;如果没有指定参数,则分类显示所有GDB命令,供用户进一步浏览和查询。 (gdb) help display
文档评论(0)