2016-04-22 4 views
1

я получаю эту ошибку с моим приложением (на WinDriver Linux)Ошибка:. Испорченный список двойного связанный 0xb2808cf8 C++

*** Error in `./BasicTimersTest': corrupted double-linked list: 0xb2808cf8 *** 

Согласно трассировке, это видно при распределении памяти с новым.

В моем коде нет двух связанных списков. Я просмотрел эту проблему, и большинство сайтов говорили о подобной проблеме, но с glibc обнаружил в качестве префикса.

В чем разница между тем, имеет ли значение адрес, напечатанный в трассировке ошибки (0xb2808cf8)?

+0

Wind River - это встроенный материал. Я не думаю, что они используют glibc. Это объясняет другое сообщение об ошибке. –

+0

Обнаружено при распределении памяти, но фактическое повреждение произошло раньше. Правильно ли работает распределитель «электрический забор» на Wind River? Или вальгрид? –

ответ

2

Я видел это сообщение, где структуры данных malloc были повреждены, скорее всего, вы позвонили бесплатно по неправильному указателю, например, который не указывает на начало выделенной области или которая уже была освобождена (дважды бесплатна), или каким-то образом вы вырезанные во внутренние структуры malloc, путем записи вне вашего массива. Это может произойти задолго до того, как вы позвонили new, но вы видели, что проблема только пытается выделить новую память.

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