GNU相关工具概述.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GNU相关工具概述 成研所操作系统团队 GNU工具介绍 GCC编译工具链 调试工具GDB Make工程管理器 Binutils二进制工具 GNU介绍 FSF(Free Software Foundation) GNU计划的主要发起者. FSF主要依靠个体的开发人员及团体支持,并与个别发展基金及集团有合作 主要致力于自由的开发、使用、学习、拷贝、分发、修改计算机软件,并维护自由软件用户的权益。 GNU计划 FSF于1984年开始研发的,与Unix相似的操作系统及其支持工具(包括GCC、GDB..),纯自由软件 GPL GPL=General Public License(通用公共授权) 条款目的 倡导软件的共享与修改自由 吸引更多开发人员投入自由软件的海洋 条款主要内容 共13条,详情请看 我们如何使用? 所有FSF发布的软件,开发人员在使用、修改、发布、复制过程中需遵循GPL 开发的全过程 Linux开发相关工具 GCC 编译工具链,包括预处理、编译、汇编、链接 Make 工程管理器,其实是由一套Makefile定义规则 GDB 用户态调试器,支持常用的运行、打断点、单步调试、查看功能 Binutils 2进制开发、管理工具套件 使用GNU工具开发示例 编译 gcc -o hello.o –c hello.c 链接 gcc h1.h hello.o –o hello.out 调试 gdb run hello.out break 61 continue info registers GNU工具介绍 GCC编译工具链 调试工具GDB Make工程管理器 Binutils二进制工具 C编译器GCC GCC是一套编译工具链的接口 预处理器CPP C编译器 汇编器AS 链接器LD 一条典型的GCC命令: gcc –o hello.o –c hello.c 编译hello.c并生成目标文件hello.o 每个选项对应一个工具,由gcc做为命令接口 GCC常用命令行选项 -o 指定生成的文件名,默认为a.XXX -E 只做预处理,生成.i文件 -S 只做预处理和编译,不汇编,生成.S文件 -c 只编译,不进行链接,生成.o文件 不加参数,编译、链接生成可执行文件.out GCC常用命令行选项 -I 指定链接时头文件搜索目录 -L 指定链接时函数库搜索目录 -O1/O2/O3 代码优化,自动提升编译出的可执行文件执行效率,但编译速度慢,release版常用 -g 编译时创建调试信息,调试前必须使用 -Wall 产生全部警告信息 GCC对C语言的扩展 GCC有一套扩展过的C,由GCC唯一识别 C扩展对优化、目标代码布局、更安全的检查等方面提供了很强的支持 Linux内核代码使用了大量的GCC扩展C,因此GCC唯一能编译Linux内核。 GNU工具介绍 GCC编译工具链 调试工具GDB Make工程管理器 Binutils二进制工具 使用GDB 直接打gdb进入GDB命令提示符 或者gdb –参数 -symbols 从指定文件提取符号表 -se 从指定文件中读取符号表信息,并把他用在可执行文件中 -directory 添加源文件搜索路径,默认为环境变量PATH中的路径 -core 同时调试程序和core文件(程序非法执行后core dump生成文件) GDB主要功能 进入后打help command查看帮助 程序运行 run 运行程序 set args / show args 设置/查看运行参数 path / show path 设置/查看程序运行路径 set environment 设置环境变量 GDB主要功能 停止及恢复 断点(行/函数) break 指定行或函数 break …if 设置断点条件,如if i=5 info break 查看所有断点 观察点(表达式) watch 设置观察点,当表达式值发生改变时停住 rwatch 当表达式读取时停住 awatch 当表达式读/写时停住 info watchpoints 查看所有观察点 捕捉点(事件) catch 当指定事件发生时停住 GDB主要功能 停止及恢复 停止点操作 clear 清除所有停止点 delete 删除指定停止点 disable/enable 临时关闭/开启停止点 恢复 continue 恢复程序运行 step 单步跳入 next 单步跳过 finish 单步返回 GDB主要功能 查看信息 info stack

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档