Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1754318
  • 博文数量: 787
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-22 15:17
文章分类

全部博文(787)

文章存档

2008年(787)

我的朋友

分类:

2008-09-25 16:11:35


[@more@] 本来在测试一个我写的list结构及一些操作接口。增加或删除结点的测试完成之后,加入别的测试。结果出错。用gdb监视,发现出错原因竟是由于malloc得到的两块地址是同一个。我把测试程序改来改去,头都胀大了好几倍,感觉自己都快疯了--觉得自己没有用错什么语句,两个malloc居然会给我同一个地址,受了莫名的委屈。
     我突然问自己:一直在跟free/malloc较劲,我原来倒底是干什么来的?我努力想了好一会儿,才记起来我是在测试我的list,不是来玩free/malloc的。稍冷静了一点。后来通过修改代码和gdb发现是我封装free的一个wrapper函数似乎有问题。我注释掉main()中调用这个函数的语句,最后运行正常。后来我检查那个出错的函数,原因是一个指针free了两次--其实我原来发现过这个问题,而且也改了,不知道为什么没有存下来;可能原因是我的cvs用的也比较混乱。
     不管怎么说,free/malloc真是危险的坐骑啊,驾驭不利,非摔得鼻青脸肿不可。

--------------------next---------------------

阅读(711) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~