Ответы:
В случае, если вы не хотите устанавливать связку зависимостей для apport-retraceинструмента, вы можете распаковать формат apport в отдельные файлы и использовать только CoreDumpдамп gdbкак обычно.
apport-unpack systemGeneratedCrashReportPath.crash yourNewUnpackDirectoryHerecd yourNewUnpackDirectoryHere/gdb `cat ExecutablePath` CoreDump (обратите внимание на тильды здесь!)bt (вывод фактической обратной трассировки)
Примечание: apport-unpackиногда происходит сбой при распаковке (apport кажется разбитым вокруг ... xD), но ваш CoreDump и другие файлы будут там, просто проигнорируйте его и удалите все файлы .crash /var/crashпосле их перемещения в другое место, чтобы Система для вывода новых отчетов о сбоях из тех же приложений там.
ExecutablePath. Я думал, что читатель должен заполнить путь к исполняемому файлу там.
Существует инструмент под названием, apport-retraceкоторый читает файлы .crash и позволяет вам либо заполнить его полностью символической трассировкой стека, либо запустить gdbсеанс с использованием дампа ядра. Чтобы начать сеанс GDB, запустите apport-retrace -g CRASHFILE.crash. Обратите внимание, что вам нужно установить пакеты -dbg, чтобы получить хорошую трассировку стека.
При этом (я не эксперт по PHP), это может быть то, что вы написали в одном из ваших файлов, что вызывает сбой.
t seem to work: # apport-retrace -g _usr_sbin_php5-fpm.1002.crash ОШИБКА: файл отчета не содержит одно из обязательных полей: Пакет CoreDump DistroRelease ExecutablePath` # grep CoreDump _usr_sbin_php5-fpm.1002.crash CoreDump: base64