我的应用程序出现此错误。在Windriver Linux上)
*** Error in `./BasicTimersTest': corrupted double-linked list: 0xb2808cf8 ***
根据回溯,在为内存分配新内存时可以看到这种情况。
我的代码中没有双向链表。我浏览了这个问题,大多数网站都在谈论类似的问题,但将 glibc 检测为前缀。
两者之间有什么区别,错误跟踪(0xb2808cf8)中打印的地址有什么意义吗?
我看到这条消息,其中 malloc 数据结构已损坏,很可能您在错误的指针上调用了 free,例如,它不指向分配区域的开头,或者已经释放(双重释放),或者您以某种方式写入内部 malloc 结构,通过在数组外部写入。它可能在您调用new
之前很久就发生了,但是您只尝试分配新内存时才看到了问题。