Ответы:
В случае, если вы не хотите устанавливать связку зависимостей для apport-retrace
инструмента, вы можете распаковать формат apport в отдельные файлы и использовать только CoreDump
дамп gdb
как обычно.
apport-unpack systemGeneratedCrashReportPath.crash yourNewUnpackDirectoryHere
cd 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