您的位置:首页 > 其它

glibc detected *** corrupted double-linked list:错误的原因有如下三种可能

2013-07-09 18:28 1016 查看
一个多线程的大程序运行的时候崩掉了,屏幕上打出这个:

*** glibc detected *** corrupted double-linked list: 0xb78381d8 ***

======= Backtrace: =========

/usr/lib/libc.so.6[0xb7781d3b]

/usr/lib/libc.so.6[0xb7781e77]

/usr/lib/libc.so.6[0xb7782d50]

/usr/lib/libc.so.6(malloc+0x71)[0xb7783f2c]

后面的call stack是自己程序的函数调用

两个原因

1.

int* a = new int(10);

delete a;

delete a; // <---- 这个

2. int* a;

delete a; // <---- 这个

还有一个

char s[10];

int* a = new int(10);

sprintf(s, "1234567890");

delete a; // a 被前面的给覆盖了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐