Когда приложение сбой без вывода ошибки, есть ли журнал, который я могу проверить?

Возможно, вы захотите попробовать Asciinema. В дополнение к простому записи вы получаете возможность поделиться ею и вставлять плеер в свой блог, статью или в конференцию.

11
задан 18 June 2012 в 23:21

40 ответов

Для conky также может быть, что в $HOME/.xsession-errors есть записи.

2
ответ дан 7 August 2018 в 22:47

Если вы запускаете свое приложение из файла запуска .desktop, добавьте параметр Terminal=true в файл .desktop.

0
ответ дан 7 August 2018 в 22:47

вы можете перейти к /var/log/messages or crashes, после чего вы можете запустить команду grep на тех и искать приложение, которое ищет файлы, иногда может быть довольно большим. Он вернет информацию, относящуюся к вашему заявлению. :)

0
ответ дан 10 August 2018 в 10:52

Для conky также может быть, что в $HOME/.xsession-errors есть записи.

2
ответ дан 10 August 2018 в 10:52

Некоторые приложения имеют флаги, которые можно использовать для включения отладки, такие как -d, -D, --debug и т. д. Проверьте справочную страницу приложения (man [my-app]) или запустите приложение с флагом -h, чтобы посмотрите, есть ли у него такой вариант.

Многие приложения GUI записываются в $ HOME / .xsession-errors, поэтому это хорошее место для проверки вывода.

Право maco, что apport, вероятно, самый надежный способ получить хорошую отладочную информацию. Иногда это не приводит к сбою.

Если все остальное не удается, вы также можете отключить эту информацию, запустив приложение в gdb. Это было бы что-то вроде:

$ gdb my-app

(gdb) run

... делать все, что необходимо для его срыва ...

(gdb) bt full

и перейти оттуда.

Если вы идете по маршруту gdb, вы также захотите установить символы, как упоминалось ранее. См. https://wiki.ubuntu.com/DebuggingProgramCrash для рекомендаций по ручному управлению.

4
ответ дан 10 August 2018 в 10:52

вы можете перейти к /var/log/messages or crashes, после чего вы можете запустить команду grep на тех и искать приложение, которое ищет файлы, иногда может быть довольно большим. Он вернет информацию, относящуюся к вашему заявлению. :)

0
ответ дан 13 August 2018 в 17:27

Для conky также может быть, что в $HOME/.xsession-errors есть записи.

2
ответ дан 13 August 2018 в 17:27

Если вы запускаете свое приложение из файла запуска .desktop, добавьте параметр Terminal=true в файл .desktop.

0
ответ дан 13 August 2018 в 17:27

Некоторые приложения имеют флаги, которые можно использовать для включения отладки, такие как -d, -D, --debug и т. д. Проверьте справочную страницу приложения (man [my-app]) или запустите приложение с флагом -h, чтобы посмотрите, есть ли у него такой вариант.

Многие приложения GUI записываются в $ HOME / .xsession-errors, поэтому это хорошее место для проверки вывода.

Право maco, что apport, вероятно, самый надежный способ получить хорошую отладочную информацию. Иногда это не приводит к сбою.

Если все остальное не удается, вы также можете отключить эту информацию, запустив приложение в gdb. Это было бы что-то вроде:

$ gdb my-app

(gdb) run

... делать все, что необходимо для его срыва ...

(gdb) bt full

и перейти оттуда.

Если вы идете по маршруту gdb, вы также захотите установить символы, как упоминалось ранее. См. https://wiki.ubuntu.com/DebuggingProgramCrash для рекомендаций по ручному управлению.

4
ответ дан 13 August 2018 в 17:27

файлы аварии попадают в /var/log/crashes/ для использования с apport для сообщения об ошибках. Вы можете извлечь дамп ядра с помощью apport-unpack, поместить этот дамп ядра через gdb и выяснить, что приводит к сбою программы.

Это все предполагается, что вы программист. Если вы не ... ну, вы все равно не можете исправить ошибку!

4
ответ дан 16 August 2018 в 00:05
  • 1
    «Все это предполагает, что вы программист. Если вы не ... ну, вы все равно не можете исправить ошибку! с открытым исходным кодом мы все можем попытаться решить наши проблемы, на наш собственный риск, очевидно;) – Strae 19 August 2010 в 13:46
  • 2
    @DaNiel: Не совсем! Если вы не программист, и у вас нет хорошего понимания кода приложения, чем больше вы возитесь с кодом buggier с, вероятно, получите :) – AntonioCS 19 August 2010 в 14:22
  • 3
    Даже если вы не программист, иногда поиск дампа ядра может дать вам представление о проблеме. Например, похоже, что он рушится в какой-то графической подпрограмме - возможно, мне нужно обновить драйвер дисплея ... – user1242 19 August 2010 в 20:14
  • 4
  • 5
    Вы знаете не программистов, которые могут использовать gdb? Я программист и могу дойти до bt full «о, посмотрите обратную линию ... с отсутствующими символами ... угадайте, мне нужно установить символы отладки и попытаться воспроизвести сбой ... & quot; Я как-то понял, как установить точку останова ... это самый продвинутый, который я получил с ним. – maco 19 August 2010 в 21:02

Другие вопросы по тегам:

Похожие вопросы: