【问题标题】:corrupted double-linked list on free()free() 上损坏的双链表
【发布时间】:2016-07-01 07:56:38
【问题描述】:

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

"损坏的双链表:"

在小数据中,如果我删除 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]);
}

【问题讨论】:

  • “...很多代码”是你问题的关键

标签: c malloc free calloc


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多