free() 上损坏的双链表

corrupted double-linked list on free()

我在小数据中成功 运行 我的代码,但是当我尝试大规模数据时,它给了我

"corrupted double-linked list:"

在小数据中,如果我删除 free() 函数,错误消失并且代码可以运行,但在大数据中,无论我是否放入 free,代码都会出现此错误。

在我的代码中创建 malloc 并使用 free,

int **msgcount = malloc(partnum*sizeof(int*));
for(i=0; i<partnum; i++)
    msgcount[i] = malloc( partnum*sizeof(int));

...lots of code

for(i=0;i<partnum;i++)
{
   free(msgcount[i]);
}

此消息来自 glibc,表示您面临内存损坏或您双重释放了同一个指针。尝试在 valgrind 下 运行 并查找发生损坏的位置。