有时候会发生一些应用程序崩溃但没有输出错误的情况(在我的情况下是conky,可能是我的某个配置不正确)。
是否有一个错误日志可以查看,以了解它为什么会崩溃?
是否有一个错误日志可以查看,以了解它为什么会崩溃?
这取决于应用程序。不同的应用程序有不同的日志系统;没有一个中央日志包含了系统上运行的所有程序的输出。
话虽如此,很多程序确实将它们的日志文件放在目录/var/log
下。特别是文件/var/log/syslog
(或者也可能是/var/log/messages
),它包含了来自“系统日志记录器”的输出,这是系统提供的一个服务,程序可以选择使用它进行日志记录。但并不是所有的程序都使用它。通常,在那个文件中你会找到低级系统服务的消息,而不是你通常使用的图形化应用程序。
你可能想要阅读有关标准日志文件位置的更多信息。
/var/log/crashes/
中,用于使用apport报告错误。您可以使用apport-unpack
提取核心转储,通过gdb分析该核心转储,找出导致程序崩溃的原因。$HOME/.xsession-errors
中有条目。man [my-app]
)或使用-h标志运行应用程序,以查看是否有这样的选项。$ gdb my-app
(gdb) run
尽一切所需使其崩溃...
(gdb) bt full
然后从那里开始。
如果你选择使用gdb,你还需要安装符号,如之前所提到的。请参考https://wiki.ubuntu.com/DebuggingProgramCrash获取详细指导。
Terminal=true
。这样在运行程序时会打开一个终端,终端上的输出将类似于你通过命令行首次运行程序所看到的内容。这样,当图形用户界面崩溃或挂起时,你可以看到导致此问题的文本输出。
bt full
这一步了,"哦看,一个带有缺失符号的回溯...猜测我需要安装调试符号并尝试重现崩溃..." 我曾经弄明白如何设置断点...但那已经是我在使用它方面最进阶的地方了。 - maco