linux - 截断的核心转储有什么用?

标签 linux gdb posix x86-64 coredump

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

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

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

最佳答案

Can anything useful be done with such a truncated coredump?

是的,很多

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

检查堆分配变量的命令可能适用于某些变量,但不一定适用于其他变量。尽管如此,这总比没有好。

关于linux - 截断的核心转储有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481326/

相关文章:

python - Dpkg Python 模块?

c++ - 使用 gdb : "Could not find the frame base", 进行调试失败,但使用 lldb 进行调试

c++ - GDB Python 支持,ImportError 没有名为 gdb 的模块

regex - 无法将否定先行断言应用于 bash 上的 nagios 插件输出

linux - 在Linux中追踪进程需要什么样的权限

linux - 如果模式在 sed linux mint 17 中匹配则删除所有行

linux - 在任意初始化的内存块周围加载 ELF 二进制文件

linux - bash:比较两个文件以附加列

linux - 如何使用gdb在linux下调试用fasm编写的程序?

c - unix套接字上的连接数