当 ubuntu-bug 崩溃时我该如何报告错误?
ongun@ongun-ubuntu:~$ ubuntu-bug python
ERROR: /etc/apport/crashdb.conf is damaged: No default database
答案1
什么时候阿波特- 哪个ubuntu-bug
是其中的一部分——不起作用,通常最好尝试使用 Apport 解决问题。但是,也可以不使用 Apport 来报告错误。
我不知道这里描述的具体错误是否是由于错误或配置错误或其他问题造成的。看到该确切消息的用户应该尝试解决方法Rinzwind 描述。不过,更普遍一点不是适用于此处显示的错误消息,apport-cli
命令有时会起作用,但有时ubuntu-bug
不起作用。
但是对于“当 ubuntu-bug 崩溃时,我该如何报告错误?”(或者无法使用)的答案是,可以通过 Launchpad 的 Web 界面直接报告错误,并且只要报告者仔细细致地描述问题并包含与之合理相关的所有信息,这样的错误报告可能会很有用。
不使用 Apport 报告错误(当你必须这样做时)
主要有两起案件。
如果你报告的是非崩溃错误通过运行,Apport 无论如何都不会将堆栈跟踪和核心转储附加到错误报告中。因此,直接在 Launchpad 上报告错误是合理的。正如
ubuntu-bug package
its_me 的回答到我如何报告错误?说:这很简单访问 Launchpad 并填写那里的 2 或 3 个字段。命令行不是唯一的方法。
或者,您可以使用这个(
PACKAGENAME
在 URL 中用包名称替换。例如:unity、gnome-shell 等):http://bugs.launchpad.net/ubuntu/+source/PACKAGENAME/+filebug?no-redirect
这直接适用于本问题中描述的情况。只需确保包含足够的信息来完整描述错误、发生错误的系统以及与错误相关的软件包(包括其确切版本)。与往常一样,以这种方式报告错误的用户应首先阅读报告错误。
报告导致崩溃的错误没有 Apport 的调试过程更加繁琐,但可以用传统方式完成。这包括为崩溃的程序安装调试符号及其使用的库,在调试器中打开程序(对于 Ubuntu 软件包,
gdb
通常应该使用),然后尝试重现崩溃。 所结果的堆栈跟踪, 由。。。生产运行bt
gdb
崩溃后,只要所有相关调试符号是可用的。这不是这里的问题中描述的情况,我也不打算彻底讨论它。我主要提到这一点是为了让那些试图报告崩溃的读者不要使用上面提到的方法而不包括堆栈跟踪。但基本上,一些软件包在名称以 结尾的类似命名的软件包中具有相应的调试符号
-dbg
,而大多数其他软件包都有可从单独的存储库获得的调试符号包,可以按照中所述启用和使用调试符号包。
一旦 Apport 再次工作……
如果你后来让 Apport 工作了,你仍然可以使用它自动将信息添加到错误报告中。v010dya的评论在那个答案说:
如果您遵循此方法,然后决定以与方法相同的方式添加文件
ubuntu-bug
,您只需键入apport-collect REPORTNUMBER
,其中 REPORTNUMBER 是错误的编号,它将位于您提交的 [bug] 的 URL 中。
这对于需要附加堆栈跟踪和核心转储文件的崩溃错误最有用/var/crash
。