Відповіді:
Залежить від програми. Різні програми мають різні системи реєстрації журналів; не існує жодного центрального журналу, який містить весь результат усіх програм, які працюють у вашій системі.
При цьому, багато програм вкладають свої файли журналів у каталог /var/log
. Файл /var/log/syslog
(або, можливо /var/log/messages
) містить, зокрема, вихід із "системного реєстратора", що є послугою, доступною системою, яку програми можуть використовувати (якщо вони захочуть) для ведення журналів. Але не всі програми цим користуються. Здебільшого у цьому файлі ви знайдете повідомлення від системних служб низького рівня, а не графічні програми, які ви, ймовірно, використовуєте зазвичай.
Ви можете прочитати більше про розташування стандартних файлів журналів .
файли збоїв переходять у /var/log/crashes/
користування з apport для повідомлення про помилки. Ви можете витягнути дамп основної програми apport-unpack
, поставити цей ядерний дамп через gdb та дізнатися, що спричиняє збій програми.
Це все, якщо ви програміст. Якщо ви не ... ну, ви все одно не зможете виправити аварію!
bt full
"ой дивіться заднім числом ... з відсутніми символами ... здогадуюсь, мені потрібно встановити символи налагодження і спробувати відтворити збій ..." Я одного разу зрозумів, як встановити точка розриву ... це найдосконаліше, з чим я стикався.
У деяких програмах є прапори, які можна використовувати для ввімкнення налагодження, наприклад -d, -D, --debug тощо. Перевірте головну сторінку програми ( man [my-app]
) або запустіть додаток із прапором -h, щоб побачити, чи є у нього такий варіант.
Багато додатків графічного інтерфейсу записують у $ HOME / .xsession-помилки, тому це хороше місце, щоб перевірити вихід.
Мако має рацію, що apport - це, мабуть, найбільш впевнений спосіб отримати гарну інформацію про налагодження. Іноді він не фіксує аварію.
Якщо все інше не вдається, ви також можете витіснити інформацію, запустивши додаток у gdb. Це було б щось на зразок:
$ gdb my-app
(gdb) run
... зробіть все, що потрібно, щоб збити його ...
(gdb) bt full
і йти звідти.
Якщо ви йдете по маршруту gdb, ви також хочете встановити символи, як згадувалося раніше. Див. Https://wiki.ubuntu.com/DebuggingProgramCrash, щоб отримати поради щодо використання.
Якщо ви запускаєте свою програму з файлу запуску .desktop, додайте параметр Terminal=true
у файл .desktop. Це відкриє термінал під час запуску програми, вихід на термінал буде аналогічний тому, що ви побачили, якби ви запускали програму в командному рядку в першу чергу. Таким чином, коли графічний інтерфейс забивається або зависає, ви можете побачити, який вихід тексту до нього веде.