2013-02-28 135 views
0

当执行GDB>核心文件,GDB提供了以下错误,然后崩溃创建一个核心文件:GDB:malloc()函数:内存损坏(快):

Reading symbols from ./libtcmalloc_minimal.so.0... 
*** glibc detected *** gdb: malloc(): memory corruption (fast): 0x0000000000ec04a0 *** 

我还没有发现任何参考到gdb崩溃与此错误。有没有人遇到过这个?如果是这样,可以做些什么。

GDB的版本是:GNU GDB(GDB)SUSE(6.8.50.20090302-1.5.18)

感谢

+0

用'-g'编译。它是否会说某些行号?小心显示一些展示问题的最小可编译代码? – cnicutar 2013-02-28 17:26:19

+0

我不是自己编译代码 - 只是试图获取堆栈跟踪以提交进行分析。只是为了澄清,当运行gdb来分析核心而不是应用程序本身运行时会发生此错误。 – 2013-02-28 20:19:50

+0

尝试使用程序和核心文件名作为参数调用gdb,即'gdb prog-file core-file' – 2013-03-01 15:17:20

回答

0

用什么办法来完成

任何崩溃在GDB本身的一个bug。

但是,没有人会关心这个错误,除非它可以复制目前 GDB(你的是5岁)。

因此,download当前版本的GDB(目前7.5.1),并构建它。

如果有效,请使用它来调试您的问题。

如果不起作用,请在GDB bugzilla中提交错误。

0

如果你得到这个错误在你的程序调用

ptr = (ptr_t*)malloc(sizeof(ptr_t)); 

的结果,也可能是由于缺少文件stdlib.h头。