【问题标题】:What use is a truncated coredump?截断的核心转储有什么用?
【发布时间】:2012-01-18 20:39:30
【问题描述】:

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

可以用这样一个截断的核心转储做任何有用的事情吗?也许在 Linux x86-64 以外的平台上,或者使用 GDB 以外的调试器?

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

【问题讨论】:

  • 我不知道是发在这里还是发到Unix & Linux。如果这样更合适,我很乐意将其转发到那里。

标签: linux gdb posix x86-64 coredump


【解决方案1】:

可以用这种截断的核心转储做任何有用的事情吗?

是的,很多东西。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多