免费注册 查看新帖 |

Chinaunix

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

GDB如何调试多个.c构成的项目 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 21:00 |只看该作者 |倒序浏览
由于GDB的调试教程中都是关于单个.c文件的调试.对于多个.c文件构成的项目调试却是很少涉及.所以本人将自己写的一个socket通讯程序分成两个.c文件分别是main.c,和sys_utility.c文件.以及头文件sy_utility.h.调试如下:
# gcc -c main.c -g
# gcc -v sys_utility.c -g
# gcc -o test main.o sys_utility.o
这样,命令执行完毕,产生test文件.然后通过gdb test.可以正常调试.但是将上述方法调试vsftp源程序时,却不能正常调试.该程序的makefile文件如下:
# Makefile for systems with GNU tools
CC = gcc
INSTALL = install
IFLAGS = -idirafter dummyinc
CFLAGS = -g
#CFLAGS = -O2 -Wall -W -Wshadow #-pedantic -Werror -Wconversion

LIBS = `./vsf_findlibs.sh`
LINK = -Wl,-s

OBJS = main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o
tunables.o ftpdataio.o secbuf.o ls.o
postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o
banner.o filestr.o parseconf.o secutil.o
ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o
tcpwrap.o ipv6parse.o access.o
sysutil.o sysdeputil.o

.c.o:
$(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS)
$(CC) -o vsftpd $(OBJS) $(LINK) $(LIBS)

install:
if [ -x /usr/local/sbin ]; then
$(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd;
else
$(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then
$(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8;
$(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5;
elif [ -x /usr/share/man ]; then
$(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8;
$(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5;
else
$(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8;
$(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then
$(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
rm -f *.o *.swp vsftpd
我对比了该makefile中的命令和我上面测试用的命令基本无异,我输入gdb vsftpd时,正常进入,但当我输入"l"列出源程序时,却提示"No symbol table is loaded. Use the "file" command.".应该是符号表信息存在问题.请问,问题是出在什么地方?

论坛徽章:
0
2 [报告]
发表于 2005-11-16 13:23 |只看该作者
list要把文件名和行都要加上

[ 本帖最后由 er 于 2005-11-16 13:24 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP