免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1297 | 回复: 0
打印 上一主题 下一主题

用GDB调试多源文件的工程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-12 16:14 |只看该作者 |倒序浏览

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中函数的原型。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93613/showart_1860479.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP