Відповіді:
Якщо ви не хочете встановити купу підзалежностей для apport-retrace
інструменту, ви можете розпакувати формат аппорту в окремі файли та використовувати лише 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 Package ExecutablePath` # grep CoreDump _usr_sbin_php5-fpm.1002.crash CoreDump: base64