截断的coredump有什么用?

时间:2011-12-12 21:45:58

标签: linux gdb posix x86-64 coredump

ulimit -c可用于设置RLIMIT_CORE,并限制进程可能生成的coredump的最大大小。任何较大的coredump都会被截断为这个大小。

使用这样一个截断的coredump可以做些什么吗?也许在Linux x86-64以外的平台上,或者使用GDB以外的调试器?

如果没有,为什么POSIX specify this behavior,而不是说,如果超过RLIMIT_CORE,则将coredump截断为零字节?

1 个答案:

答案 0 :(得分:6)

  

使用这样一个截断的coredump可以做些什么吗?

是的,很多的东西。

截断的核心转储通常包含堆栈段,因此命令wherethread apply all where通常可以正常工作。通常这是核心所需要的。检查局部变量和全局变量的命令也可能有效。

检查堆分配变量的命令可能适用于某些变量,但不一定适用于其他变量。不过,这比更好