malloc.c: 3096错误

今天在写client.c的时候,刚加了个pthread,运行就出错,吓得我立马把加的代码都注释掉,但是……还是出错!而且这个错误还是这么的诡异,malloc.c: 3096 assertion ...... failed. 于是debug大法,gdb到出错的一行,居然是send_pkt = () malloc ()出错,我左看右看,都没有问题啊。又调了一会儿,各种怀疑,各种注释,最后终于找到了原因所在。注释掉init()函数后,无论怎么malloc都没有问题。但是init()里面就那么几行,也没有问题啊。最后终于找到细节所在:

buddy_list = (im_buddy *) malloc (len * sizeof(g_buddy_count)

原来是在这里,很奇怪的是,这次malloc没有出错,而是后面再用到malloc的时候出错了……

代码之事,千万要小心啊:)

posted @ 2010-08-29 19:40  冰封的水  阅读(1922)  评论(0编辑  收藏  举报