如何让 coredumpctl 在重启后显示转储?

如何让 coredumpctl 在重启后显示转储?

我在 Debian Stretch 服务器上安装了systemd-coredump该功能,以便在程序崩溃时保存核心转储。这基本上可以正常工作。每当某事崩溃时,转储都会列出coredumpctl list,我可以使用 获取有关它的信息coredumpctl info

然而,重启后coredumpctl list始终是空的,尽管文件/var/lib/systemd/coredump/仍然存在。

有什么方法可以coredumpctl再次显示信息吗?还有其他工具可以检查文件吗/var/lib/systemd/coredump/

感谢您的帮助!

答案1

这些信息并不是每次都直接从 coredump 中提取的;它是在接收转储时提取的,然后存储在 systemd-journal 中。你在coredumpctl仅仅是重新格式化的日志消息。

这意味着系统日志消息也必须存储在 /var 中。创建一个/var/log/journal目录,然后确保 journald.conf 允许持久存储(如果“自动”模式不起作用,有时需要明确指定)。

您仍然可以按原样使用 coredump 文件数据库和其他工具——最终,它们只是内核会生成的 lz4 压缩的标准核心转储。(systemd-coredumpctl 仅仅接收和组织它们——而不是创建它们。)

例如,要生成回溯,您可以使用 gdb 的bt子命令。

相关内容