【发布时间】:2011-08-12 19:58:07
【问题描述】:
我在运行我的程序时收到以下错误,但在 gdb 下不会发生。如何强制 glibc 或 ubuntu 在中止时转储核心?我试过“ulimit -c 无限”。但是,这不是一个段错误,也不是运气。另外,我在 valgrind 中有太多内存错误,修复所有这些错误需要很长时间。
另外,将 MALLOC_CHECK_ 设置为 0 不会强制程序退出。但是,这不是我的选择。
* 检测到 glibc ./main: free(): invalid next size (fast): 0x0000000000ae0560 **
编辑 无论如何,我发现究竟是什么导致了 valgrind 中的这种 glibc 损坏。只是保持开放,看看是否有可能。
【问题讨论】:
-
您可能有堆损坏或“双重释放”或其他内存管理问题 - 您应该尽快解决这种问题,而不是修补。
-
stackoverflow.com/questions/151268 btw 的重复...?
-
不是重复的。默认情况下,glibc 在我的 ubuntu 中中止。我想要的是一个核心转储文件,当它中止时。
-
@user357689:您的编辑证明了我的观点,不是吗? ;)