如何提交一个完整的错误报告,包括崩溃转储和重现步骤?

我在xserver-xephyr中发现了一个可复现的崩溃bug。当我运行以下命令时:
apport-bug /var/crash/_usr_bin_Xephyr.1000.crash
它会发送一个whoopsie报告,并且不会要求我提供任何额外信息,比如如何复现这个bug,而我是知道的。它也不会提交一个真正的bug报告。我应该怎么做呢?

在http://askubuntu.com/questions/5121/how-do-i-report-a-bug 提供了一个很好的解释。 - atenz
那并没有回答我的具体问题。 - Alistair Buxton
抱歉,但在我评论后,你编辑并发布(包括崩溃转储和重现步骤?)了:P - atenz
崩溃错误是由Apport生成的,需要通过Apport进行报告。否则,您必须手动提交错误并找到所有相关文件以附加和包含。此外,对于崩溃错误,您需要将其设置为私有。 - Thomas Ward
问题再次编辑。使用apport-bug与使用ubuntu-bug没有任何不同的结果。 - Alistair Buxton
如果"crash dumps"指的是".crash"文件,那么可以尝试访问此链接:http://askubuntu.com/questions/142120/how-can-i-submit-crash-files-manually - atenz
那个页面上没有任何东西让我附加堆栈转储。此外,最后一个导致了apport崩溃。 - Alistair Buxton
1个回答

一个好的报告方法是配置Apport将崩溃数据发送到Launchpad。
如果你不希望在程序崩溃时进行此操作,之后可以将其配置回来。
背景
你想要的是让Apport收集崩溃数据并将其提交到Launchpad,这样你就可以编写并提交一个附带数据的错误报告。这是在alpha和beta版本上Apport的行为,也是在12.04之前所有版本(启用了Apport时)的行为。
在Ubuntu 12.04中,引入了Whoopsie。

Whoopsie将Apport崩溃数据提交到一个数据库(Daisy),在那里可以对其进行处理和聚合分析(然后viewed)。这比根本不报告数据要好得多,也比报告信息不足的错误报告要好,其中报告人没有提供所需信息。此外,在稳定版本中的错误有时不太可能得到修复,除非它们能够在开发版中重现(而且使用Whoopsie,用户不需要阅读错误报告说明并提交报告,只是发现该错误很长时间未被修复)。

然而,对于受支持的Ubuntu版本,我们仍然欢迎书写良好且包含足够信息的错误报告(包括您的情况)。

您可以重新配置Apport,以便将崩溃数据提交到Launchpad用于错误报告,而不是Daisy用于统计分析

重新配置Apport以将崩溃数据发送到Launchpad

如果您根据此处的说明禁用了Whoopsie,Apport也将被禁用。因此,如果您的目标是报告崩溃错误,这不是您想要的

在Apport的配置文件之一/etc/apport/crashdb.conf中,有一行写着:

        'problem_types': ['Bug', 'Package'],

这是列出问题类型的行,数据将被发送到Launchpad。它列出了BugPackage。添加Crash
        'problem_types': ['Bug', 'Package', 'Crash'],

现在,当崩溃数据自动收集时,它们将被提交到Launchpad,并且会出现一个浏览器窗口/标签,在那里您可以描述错误(就像之前的Whoopsie一样)。
参考资料
- Bob Bib (bobbib), Comment 5关于bug 994921 - Neal McBurnett (nealmcb), Comment 13关于bug 993450

很棒的回答 :) - 不幸的是,我忘记了如何重现这个错误,但我相信在某个时候会再次遇到。 - Alistair Buxton
如果您无法重现崩溃情况,可以重新配置Apport将信息发送到Launchpad,然后运行ubuntu-bug crashfile,其中crashfile是之前生成的.crash文件。(由于在创建.crash文件时和现在安装的软件包存在差异,这可能不起作用...但还是值得一试。) - Eliah Kagan
我不再有崩溃文件了,而且发布如何重现它才是重点 :) - Alistair Buxton