Chinaunix首页 | 论坛 | 博客
  • 博客访问: 159258
  • 博文数量: 35
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 345
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-09 21:36
文章存档

2010年(10)

2009年(25)

我的朋友

分类: LINUX

2009-03-12 16:14:30

GDB是Linux中强大的程序调试工具,熟练掌握该软件的使用对软件开发有很大的帮助,GDB的使用很简单,但想要使用GDB调试的程序必需在编 译的时候加了调试选项(-g),这样一来要对程序进行调试就要对gcc编译选项中加上这一参数,如果直接在终端中用命令编译(不写makefile),那 么语法很简单,如下:

  • 单文件(如main.c):gcc -g main.c -o main或gcc -o main main.c -g
  • 多文件(如main.c func.c func.h):gcc -g func.c main.c -o main或gcc -o main main.c func.c -g

但是这样对工程的组织非常不好,所以我们通常使用Make工具,如果想调试程序的话Makefile该怎么写呢?

  • 单文件(如main.c):这种情况比较简单,下面这几行命令就可以搞定

main:main.o
gcc -o main main.o
main.o:main.c
gcc -c -g main.c

  • 多文件(如main.c func.c func.h):这种情况可以写成下面这种形式

main:main.o func.o
gcc -o main main.o func.o
main.o:main.c
gcc -c -g main.c
func.o:func.h func.c
gcc -c -g func.c

gcc -c -g func.c这句中的”-g”一定要加上,否则在调试过程中将看不到func.c中函数的原型。

阅读(5768) | 评论(0) | 转发(0) |
0

上一篇:趁早-张宇

下一篇:libevent的使用

给主人留下些什么吧!~~