- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上海交大志盟嵌入式中心 www.ZMEMB.com 40066-91916 源代码编译和调试 Page */40 本章目标 能够使用Gcc来编译程序 能够使用Gdb调试有问题的程序 Page */40 本章结构 Gcc 源代码编译和调试 Gdb GCC是什么? GCC 以前是 GNU C Compiler。 GCC 现在是 GNU Compiler Collection. 语言:gcc, g++, gcj… 工具:cpp, ld, runtime library… 平台:X86-linux, sparc-sun-solaris, arm, MinGW,vxwork… 谁写的GCC Richard Stallman 是GCC最初的作者. 现在,自由软件基金会(FSF)指定GCC steering Committee为GCC的官方维护者。 为什么选择 GCC GCC 具备可移植性。 GCC是免费的。 大家都用GCC,易于发现问题. 6.1.1 Gcc编译流程解析 预处理 编译 汇编 链接 6.1.2 Gcc 编译选项分析 总体选项 告警和出错选项 优化选项 体系结构相关选项 6.2 Gdb调试器 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具 6.2 Gdb的作用 GDB主要完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序中所发生的事。 4、动态的改变你程序的执行环境。 6.2.1 Gdb使用流程 查看文件 设置断点 查看断点情况 运行代码 查看变量值 单步运行 恢复程序运行 6.2.2 Gdb基本命令 1、工作环境相关命令 set args show args path dir show paths cd dir pwd shell command 6.2.2 Gdb基本命令 2、设置断点与恢复命令 bnfo b break tbreak delete disable enable condition step next finish c 6.2.2 Gdb基本命令 3、Gdb中源码查看相关命令 list file 载入程序 forward-search reverse-search dir dir show directories Ifo line 本章总结 本章介绍了Gcc编译器和Gdb调试器的使用 选项多,但常用的不多 Page */40 实验 实验一:Gcc编译器的使用 试验二:用Gdb调试有问题的程序 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:????? 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。???? 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)???? 3、当程序被停住时,可以检查此时你的程序中所发生的事。???? 4、动态的改变你程序的执行环境。 从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化 的调试工具,但有时候,命令行的调试工具却有着图形化工具所不能完成的功能。让我们一一看来。 上海交大志盟嵌入式中心 www.ZMEMB.com 40066-91916 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。 一般来说,GDB主要帮忙你完成下面四个方面的功能:????? 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。???? 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)???? 3、当程序被停
文档评论(0)