1

На стретч-сервере Debian я установил systemd-coredump для сохранения coredumps в случае сбоя программы. Это в основном работает нормально. Всякий раз, когда аварийно завершает работу, дамп отображается в coredumpctl list и я могу получить информацию об этом, используя coredumpctl info .

Однако после перезагрузки coredumpctl list всегда пуст, хотя файлы в /var/lib/systemd/coredump/ все еще присутствуют.

Есть ли способ заставить coredumpctl снова показать информацию? Есть ли другой инструмент для проверки файлов: /var/lib/systemd/coredump/?

Спасибо за вашу помощь!

1 ответ1

3

Информация не извлекается непосредственно из coredumps каждый раз; это делается при получении дампа, затем сохраняется в системном журнале. Все, что вы видите в coredumpctl, является просто переформатированным журнальным сообщением.

Это означает, что сообщения системного журнала тоже должны храниться в /var. Создайте каталог /var/log/journal , а затем убедитесь, что journald.conf разрешает постоянное хранение (иногда это необходимо указать явно, если не работает режим "auto").

Вы можете по-прежнему использовать файлы coredump как есть с gdb и другими инструментами - в конце концов, это просто стандартные дампы сжатых lz4, которые ядро все равно сгенерирует. (systemd-coredumpctl просто получает и организует их, а не создает их.)

Например, чтобы сгенерировать обратную трассировку, вы можете использовать подкоманду bt .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .