免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3504 | 回复: 10

我有一个编程练习题,已经调试出了大量错误。但是还是有一个不知道怎么错了 [复制链接]

论坛徽章:
0
发表于 2007-09-25 18:32 |显示全部楼层
这是《unix/linux编程实践教程》里边的一个练习题,在61页2.13题。
该程序模拟用户注销的时候对utmp文件的操作动作
通过动手,我学会了简单的使用gdb。
GDB非常好用。通过调试,找到了大量的错误。但是还是有一个错误怎么调试也不知道错在哪里。
errno显示是9,也就是坏掉的文件描述符。在调用write的时候出现的。
希望诸位高手帮我看一下到底错在哪里了?
谢谢.
由于白天上学,所以明天晚上,我会上线回复。
代码我放在本帖附件里。

$ uname -a
Linux ubuntu-desktop 2.6.20-16-generic #2 SMP Fri Aug 31 00:55:27 UTC 2007 i686 GNU/Linux

$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)

logout_ttyNo1.tar.gz

8.02 KB, 下载次数: 56

logout_ttyObject

论坛徽章:
0
发表于 2007-09-25 18:37 |显示全部楼层
另外我要说明,本人士自学unix编程。学校没开这门课。
另外本题的难度远远超过了学校教的难度。单就使用Gdb调试错误的方法也超过了绝大多数老师的水平。
因为我们是职业学院(大中专)。
自学很不容易,希望大家有力帮忙。
当然,如果有建议本人虚心接受
特此声明!

论坛徽章:
0
发表于 2007-09-25 19:59 |显示全部楼层
找到问题了。原来是原书的代码直接使用有问题
文件描述符是只读打开的。
不好意思,献丑了。
我终于可以开始下一个问题的学习了

论坛徽章:
0
发表于 2007-09-25 20:43 |显示全部楼层
自问自答?!

论坛徽章:
0
发表于 2007-09-25 20:59 |显示全部楼层
装着没看见飘过~~~

论坛徽章:
0
发表于 2007-09-25 21:00 |显示全部楼层
LZ加油!!

论坛徽章:
0
发表于 2007-09-25 22:56 |显示全部楼层
找本靠谱的书看看吧,如果书作者自己都没跑过自己的代码,初学的话浪费很多时间。

论坛徽章:
0
发表于 2007-09-26 15:37 |显示全部楼层
原帖由 mingyanguo 于 2007-9-25 22:56 发表
找本靠谱的书看看吧,如果书作者自己都没跑过自己的代码,初学的话浪费很多时间。

这个代码好象是故意的。。。。因为有一问是"为什么不能直接用libutmp.c?"这个意思的。

论坛徽章:
0
发表于 2007-09-27 10:25 |显示全部楼层
原帖由 huyongzs 于 2007-9-25 18:37 发表
另外我要说明,本人士自学unix编程。学校没开这门课。
另外本题的难度远远超过了学校教的难度。单就使用Gdb调试错误的方法也超过了绝大多数老师的水平。
因为我们是职业学院(大中专)。
自学很不容易,希望 ...



用不着声明,自学没什么。
这里有几个不是自学的?站出来。恐怕没有几个是名师出的高徒。
另外不要看不起老师,术业有专攻,并不是用Gdb就如何水平高。

真心希望你能学得更好。

论坛徽章:
0
发表于 2007-09-29 10:11 |显示全部楼层
回答楼上的,我是看见了这里禁止作业题,所以才发表声明的。
我声明就是告诉大家,我不是再问作业题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP