double free or corruption 到底可能是哪些原因造成!?
*** glibc detected *** double free or corruption (???)我的socket服务程序总是开了多线程就会遇到这个错误,而且总是运行了比较长的时间才出现,我的free重新定义过了(不知道怎么描述)
#define free(p) do { \
printf("%s:%d:%s:free(0x%lx)\n", __FILE__, __LINE__, \
__func__, (unsigned long)p); \
free(p); \
} while (0)
但是出错的附近根本没有free操作,
我想请问,
1 除了free之外,到底什么操作还可能造成这个东西?
2 double free or corruption (???),括号里面的fasttop , top 一类的有什么区别?
:em21: 非常感谢!