gcc调试总结

发布时间:   来源:文档文库   
字号:
使用GCC编译与GDB调试
一:VMwareTools安装过程1.sudoapt-getupdate2.sudoapt-getdist-upgrade
3.3.sudoapt-getinstallbuild-essential
4.sudoapt-getinstalllinux-headers-3.0.0-29-generic-pae5.Ubuntuwindows间的文件共享
(选择VM中设置,选项,共享文件夹,添加路径,如果不能在Ubuntu下的/mnt/hgfs下找到共享文件夹还需安装Sudoapt-getinstatllopen-vm-dkmsSudomount-tvmhgfs.host://mnt/hgfs
二:C编程中相关文件后缀
.a静态库(archive
.cC源代码(需要编译预处理).hC源代码头文件
.iC源代码(不需编译预处理).o对象文件.s汇编语言代码.so动态库
三:Gcc的执行过程
gccandg++分别是gnuc&c++编译器gcc/g++在执行编译工作的时候,总共需要4


1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]3.有汇编变为目标代码(机器代码.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld]
.常用编译命令选项
假设源程序文件名为test.c1.无选项编译链接用法:#gcctest.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out2.选项-o
用法:#gcctest.c-otest
作用:将test.c预处理、汇编、编译并链接形成可执行文件test-o选项用来指定输出文件的文件名。3.选项-E
用法:#gcc-Etest.c-otest.i
作用:将test.c预处理输出test.i文件。4.选项-S
用法:#gcc-Stest.i
作用:将预处理输出文件test.i汇编成test.s文件。5.选项-c
用法:#gcc-ctest.s
作用:将汇编输出文件test.s编译输出test.o文件。6.无选项链接
用法:#gcctest.o-otest
作用:将编译输出文件test.o链接成最终可执行文件test7.选项-O
用法:#gcc-O1test.c-otest
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
.多源文件的编译方法

如果有多个源文件,基本上有两种编译方法:[假设有两个源文件为test.ctestfun.c]
1.多个文件一起编译
用法:#gcctestfun.ctest.c-otest
作用:将testfun.ctest.c分别编译后链接成test可执行文件。
2.分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:#gcc-ctestfun.c//testfun.c编译成testfun.o#gcc-ctest.c//test.c编译成test.o
#gcc-otestfun.otest.o-otest//testfun.otest.o链接成test
以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译
六:gcc的各种命令
1.查看gcc参数gcc--help
2.设置输出的文件gcchello.c-odo3.查看编译过程gcc-vhello.c
七:gdb调试程序
1.所谓调试,指的是对编好的程序用各种手段进行查错和排错的过程。进行这种查错处理
时,并不仅仅是运行一次程序检查结果,而是对程序的运行过程、程序中的变量进行各种分
析和处理。本节将讲解使用gdb进行程序的调试。Gdb主要进行下面5个方面的操作
1启动程序:在启动程序时,可以设置程序运行环境。
2设置断点:断点就是可以在程序设计时暂停程序运行的标记。程序会在
断点处停止,
3用户便于查看程序的运行情况。这里的断点可以是行数、程序名称或条件表
达式。
4查看信息:在断点停止后,可以查看程序的运行信息和显示程序变量的
值。
5分步运行:可以使程序一个语句一个语句的执行,这时可以及时地查看
程序的信息。
6改变环境:可以在程序运行时改变程序的运行环境和程序变量。
2.gdb中加载需要调试的程序
filea.debug
1)用gcc命令编译程序加入了-g命令以后,gcc-g-oa.debuga.c编译后的a.debug程序中加入了断点。可以用list(无法再终端运行出来出来时,首先使用

本文来源:https://www.2haoxitong.net/k/doc/73937aa1fab069dc5122015d.html

《gcc调试总结.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式