php-fpm разрушается на нас и выведенный файл в
/var/crash/_usr_sbin_php5-fpm.1002.crash
В том файле существует некоторая информация, но что я, после находится в разделе под названием CoreDump в закодированном формате base64. Как я могу считать то, что работало во время катастрофического отказа?
Существует инструмент, названный apport-retrace
, который читает .crash файлы и позволяет Вам или заполнять его полностью символьным отслеживанием стека или работать gdb
сессия с помощью дампа ядра. Для запуска gdb сессии работайте apport-retrace -g CRASHFILE.crash
. Обратите внимание, что необходимо было установить-dbg пакеты для получения хорошего отслеживания стека.
, Что быть сказанным (я не эксперт по PHP), это могло бы на самом деле быть что-то, что Вы записали в одном из Ваших файлов, который вызывает катастрофический отказ.
В случае, если, если Вы не хотите устанавливать набор подзависимостей для apport-retrace
инструмент, можно распаковать по левую сторону судна формат в отдельные файлы и использовать только CoreDump
дамп с gdb
, как обычно.
apport-unpack systemGeneratedCrashReportPath.crash yourNewUnpackDirectoryHere
cd yourNewUnpackDirectoryHere/
gdb `cat ExecutablePath` CoreDump
(обращают внимание на тильды здесь!) bt
(производит фактический след)
Примечание: apport-unpack
будет иногда разрушать себя на, распаковывают операцию (по левую сторону судна кажется поврежденным все вокруг... xD), но Ваш CoreDump и другие файлы будут там, просто проигнорируют ее и удалят все .crash файлы в /var/crash
после перемещения их в другое место, чтобы позволить системе производить новые отчеты о катастрофическом отказе из тех же приложений там.