C ++ malloc.c:2905:__ libc_malloc:断言

时间:2015-08-13 23:54:07

标签: c++ malloc

我有以下错误,我不知道它是什么以及如何解决它。

malloc.c:2905: __libc_malloc: Assertion `!victim || ((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x2) || ar_ptr == (((((mchunkptr)((char*)(victim) - 2*(sizeof(size_t)))))->size & 0x4) ? ((heap_info *) ((unsigned long) (((mchunkptr)((char*)(victim) - 2*(sizeof(size_t))))) & ~((2 * (4 * 1024 * 1024 * sizeof(long))) - 1)))->ar_ptr : &main_arena)' failed.

我需要你的帮助!

1 个答案:

答案 0 :(得分:2)

你的堆已损坏。这可能是由缓冲区溢出或写入悬空指针等错误引起的。在valgrind或Insure等工具下运行程序可能有助于指出错误。