gdb:malloc():内存损坏(快速):

gdb:malloc():内存损坏(快速):,gdb,Gdb,执行gdb>core文件时,gdb会出现以下错误,然后在创建核心文件时崩溃: Reading symbols from ./libtcmalloc_minimal.so.0... *** glibc detected *** gdb: malloc(): memory corruption (fast): 0x0000000000ec04a0 *** 我没有发现任何关于gdb的引用因为这个错误而崩溃。有人碰到过这个吗?如果是这样的话,我们可以做些什么呢 GDB的版本是:GNUGDB(GDB)S

执行gdb>core文件时,gdb会出现以下错误,然后在创建核心文件时崩溃:

Reading symbols from ./libtcmalloc_minimal.so.0...
*** glibc detected *** gdb: malloc(): memory corruption (fast): 0x0000000000ec04a0 ***
我没有发现任何关于gdb的引用因为这个错误而崩溃。有人碰到过这个吗?如果是这样的话,我们可以做些什么呢

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

谢谢

对此我们能做些什么

GDB本身的任何崩溃都是一个bug

然而,没有人会在意这个bug,除非它可以用当前的GDB复制(你的已经5年了)

因此,当前发布的GDB(当前为7.5.1)并构建它

如果可行,就用它来调试您的问题


如果它不起作用,请在GDB中提交一个bug。

如果您由于调用

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

在您的程序中,可能是由于缺少stdlib.h头。

使用
-g
编译。上面有没有说一些行号?想展示一些显示问题的最小可编译代码吗?我不是自己编译代码-只是试图获取堆栈跟踪以提交分析。只是澄清一下,在运行gdb分析内核时会发生此错误,而不是在应用程序本身运行时。请尝试使用程序和内核文件名作为参数调用gdb,即从命令行调用“gdb prog file core-file”会产生相同的错误(不同的内存位置),然后在内存映射期间,gdb coresIt证明malloc错误是由于LD_LIBRARY_PATH中的路径顺序造成的。tcmalloc位于O/S内存管理器之前的var中。更改顺序消除了此错误。现在我有一个不同的错误,但这是另一篇文章的主题。