我可以在核心模式中使用什么来转储核心而不进行其他操作?

我可以在核心模式中使用什么来转储核心而不进行其他操作?

我目前正在一个奇怪的 GNU chroot 环境中工作,它使用 abrt-hook-ccpp 为原始系统转储核心,但我所在的环境没有该实用程序。

systemd-coredump 在 chrooted 环境中也不存在,因此它不是一个选项。

我想访问核心文件。我可以退出 chroot 并将其远程复制到其他地方进行分析,而且我几乎不需要任何信息,因为我知道核心是在何时何地创建的。

我可以创建最简单、最基本的核心模式文件来将核心转储到当前(或任何)目录中吗?

答案1

从字面上理解就是core。任何不是以 为前缀的|文件名(在 chroot 中是绝对文件名,或相对于工作目录)。请参阅核心(5)更多细节。

请注意,当将转储直接写入文件(而非通过管道)时,崩溃进程的 RLIMIT_CORE ulimit 将被强制执行 - 如果为零,则不会创建核心文件。

您还可以为|-format 模式创建自定义处理程序脚本(例如,您可以将“abrt-hook-ccpp”设为运行的常规 bash 脚本cat > /tmp/core);处理程序只需从其标准输入读取转储并将其保存在某处。在这种情况下,不强制执行 RLIMIT_CORE。

答案2

如果你的系统配置为将核心发送到 abrt(自动错误报告工具),你可能会在 中找到它/var/cache/abrt。另请查看/var/crash

参考 : 核心已转储,但核心文件不在当前目录中?

相关内容