第六章源代码编译和调试预习检查什么是Gcc什么是Gdb2Page3/40本章目标能够使用Gcc来编译程序能够使用Gdb调试有问题的程序Page4/40本章结构Gcc源代码编译和调试Unix/Linux的起源与发展Linux在企业中的应用Linux的安装方式系统安装过程Linux的图形界面GdbUnix/Linux版本GCC是什么?GCC以前是GNUCCompiler。GCC现在是GNUCompilerCollection.语言:gcc,g++,gcj…工具:cpp,ld,runtimelibrary…平台:X86-linux,sparc-sun-solaris,arm,MinGW,vxwork…谁写的GCCRichardStallman是GCC最初的作者.现在,自由软件基金会(FSF)指定GCCsteeringCommittee为GCC的官方维护者。为什么选择GCCGCC具备可移植性。GCC是免费的。大家都用GCC,易于发现问题.6.1.1Gcc编译流程解析预处理编译汇编链接6.1.2Gcc编译选项分析总体选项告警和出错选项优化选项体系结构相关选项6.2Gdb调试器GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具6.2Gdb的作用GDB主要完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、动态的改变你程序的执行环境。6.2.1Gdb使用流程查看文件设置断点查看断点情况运行代码查看变量值单步运行恢复程序运行6.2.2Gdb基本命令1、工作环境相关命令setargsshowargspathdirshowpathssetenVironmentvar[=value]showenVironment[var]cddirpwdshellcommand6.2.2Gdb基本命令2、设置断点与恢复命令bnfobbreaktbreakdeletedisableenableconditionignorestepnextfinishc6.2.2Gdb基本命令3、Gdb中源码查看相关命令listfile载入程序forward-searchreverse-searchdirdirshowdirectoriesIfoline6.2.2Gdb基本命令4、Gdb中查看运行数据相关命令printxn/f/uDisplay表达式6.2.2Gdb基本命令Gdb中修改运行参数相关命令set本章总结本章介绍了Gcc编译器和Gdb调试器的使用选项多,但常用的不多Page19/40实验实验一:Gcc编译器的使用试验二:用Gdb调试有问题的程序Page20/40实验1注意事项提示1:Page21/40实验2注意事项提示1: