Strae Asked: 2010-08-19 18:57:37 +0800 CST2010-08-19 18:57:37 +0800 CST 2010-08-19 18:57:37 +0800 CST 当应用程序崩溃而没有输出错误时,是否有我可以检查的日志? 772 有时会发生某些应用程序崩溃而没有给出任何输出错误(在我的情况下是conky,可能是我的配置不正确之一)。 是否有错误日志可以检查以了解其崩溃的原因? log 6 个回答 Voted Best Answer David Z 2010-08-19T19:15:30+08:002010-08-19T19:15:30+08:00 取决于应用程序。不同的应用程序有不同的日志系统;没有一个中央日志包含系统上运行的所有程序的所有输出。 话虽如此,很多程序确实将它们的日志文件放在目录中/var/log。该文件/var/log/syslog(或可能/var/log/messages),特别是包含来自“系统记录器”的输出,这是系统提供的服务,程序可以使用(如果他们选择)进行记录。但并非所有程序都使用它。大多数情况下,您会在该文件中找到来自低级系统服务的消息,而不是您可能通常使用的图形应用程序。 您可能想了解更多有关标准日志文件位置的信息。 maco 2010-08-19T19:28:55+08:002010-08-19T19:28:55+08:00 崩溃文件/var/log/crashes/与 apport 一起使用以报告错误。您可以使用 提取核心转储apport-unpack,将该核心转储放入 gdb,然后找出导致程序崩溃的原因。 这一切都假设您是一名程序员。如果你不是......好吧,无论如何你都无法修复崩溃! qbi 2010-08-20T01:12:32+08:002010-08-20T01:12:32+08:00 对于 conky 也可能是$HOME/.xsession-errors. Bryce 2010-08-20T11:56:15+08:002010-08-20T11:56:15+08:00 某些应用程序具有可用于打开调试的标志,例如 -d、-D、--debug 等。检查应用程序的手册页man [my-app](选项。 许多 GUI 应用程序写入 $HOME/.xsession-errors,因此这是检查输出的好地方。 maco 说得对,apport 可能是获得良好调试信息的最可靠方法。但是,有时它不会捕获崩溃。 如果一切都失败了,您还可以通过在 gdb 中运行应用程序来强制删除信息。它会是这样的: $ gdb my-app (gdb) run ...尽一切可能让它崩溃... (gdb) bt full 然后从那里去。 如果您使用 gdb 路线,您还需要安装符号,如前所述。有关手持建议,请参阅https://wiki.ubuntu.com/DebuggingProgramCrash。 myusuf3 2010-08-19T19:35:35+08:002010-08-19T19:35:35+08:00 你可以去/var/log/messages or crashes然后你可以grep在那些上运行命令并搜索你寻找文件的应用程序有时会变得很大。它将返回与您的应用程序相关的信息。:) Selah 2017-04-25T13:19:13+08:002017-04-25T13:19:13+08:00 如果您从 .desktop 启动器文件启动应用程序,请将选项添加Terminal=true到您的 .desktop 文件。这将在您运行程序时打开一个终端,终端上的输出将类似于您首先通过命令行运行程序时看到的内容。这样,当 GUI 崩溃或挂起时,您可以看到导致它的文本输出。
取决于应用程序。不同的应用程序有不同的日志系统;没有一个中央日志包含系统上运行的所有程序的所有输出。
话虽如此,很多程序确实将它们的日志文件放在目录中
/var/log
。该文件/var/log/syslog
(或可能/var/log/messages
),特别是包含来自“系统记录器”的输出,这是系统提供的服务,程序可以使用(如果他们选择)进行记录。但并非所有程序都使用它。大多数情况下,您会在该文件中找到来自低级系统服务的消息,而不是您可能通常使用的图形应用程序。您可能想了解更多有关标准日志文件位置的信息。
崩溃文件
/var/log/crashes/
与 apport 一起使用以报告错误。您可以使用 提取核心转储apport-unpack
,将该核心转储放入 gdb,然后找出导致程序崩溃的原因。这一切都假设您是一名程序员。如果你不是......好吧,无论如何你都无法修复崩溃!
对于 conky 也可能是
$HOME/.xsession-errors
.某些应用程序具有可用于打开调试的标志,例如 -d、-D、--debug 等。检查应用程序的手册页
man [my-app]
(选项。许多 GUI 应用程序写入 $HOME/.xsession-errors,因此这是检查输出的好地方。
maco 说得对,apport 可能是获得良好调试信息的最可靠方法。但是,有时它不会捕获崩溃。
如果一切都失败了,您还可以通过在 gdb 中运行应用程序来强制删除信息。它会是这样的:
...尽一切可能让它崩溃...
然后从那里去。
如果您使用 gdb 路线,您还需要安装符号,如前所述。有关手持建议,请参阅https://wiki.ubuntu.com/DebuggingProgramCrash。
你可以去
/var/log/messages or crashes
然后你可以grep
在那些上运行命令并搜索你寻找文件的应用程序有时会变得很大。它将返回与您的应用程序相关的信息。:)如果您从 .desktop 启动器文件启动应用程序,请将选项添加
Terminal=true
到您的 .desktop 文件。这将在您运行程序时打开一个终端,终端上的输出将类似于您首先通过命令行运行程序时看到的内容。这样,当 GUI 崩溃或挂起时,您可以看到导致它的文本输出。