2016-03-15 3 views
1

Я успешно запустить свой код в небольших данных, но когда я попытался большие масштабируемые данные, он дает мнеповрежден двойной связанный список на свободный()

«поврежденную двойной связанный список:»

В небольших данных, если я удаляю функции 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]); 
} 
+1

"... много кода" имеет ключ к вашей проблеме –

ответ

1

Это сообщение приходит от Glibc и означает, что вы столкнулись с коррупцией памяти или дважды освобождали тот же указатель. Попробуйте бежать под valgrind и найти, где произошла коррупция.

Смежные вопросы