如何跟踪导致崩溃并通过 apport / whoopsie 报告的错误?

nea*_*mcb 55 bug-reporting apport whoopsie

过去,当程序崩溃时,尤其是当用户使用预发布的 Ubuntu 时,可以使用 apport 来打开错误报告。然后用户可以跟踪错误,查看它是否影响其他人,帮助修复它等。

自 Precise 12.04 起,此行为和工作流程发生了变化。正如我在错误 #993450“Apport 无法提交错误报告”中发现的那样,默认情况下 apport 不再打开错误报告(这很尴尬,但并非不可能这样做)。与此同时,人们注意到一个新的“whoopsie”流程,如什么是“whoopsie”流程以及它有什么作用?.

经过更多的谷歌搜索,我挖出了这个蓝图,它描述了整个过程: ErrorTracker - Ubuntu Wiki。(它没有提到 whoopsie 或 daisy,所以我添加了它们 - 如果我错了,请纠正我)。

哇 - 这听起来像是简化和改进崩溃报告过程的伟大工作。

我留下了这个问题:用户如何了解问题的状态?蓝图现在有这个要求

用户应该有一些方法来检查他们的崩溃报告的状态;例如,有一些他们可以查看的报告 ID 以查看统计信息和/或任何相关的错误 #。例如,在提交时提供一个序列号,他们可以稍后通过网页加载。

这似乎未实现。在此期间有什么可用的吗?

开发者如何进入游戏?转到https://daisy.ubuntu.com只会提供“内容类型不正确”错误消息。

最后,我建议在发行说明中记录应用程序行为的变化。任何试图帮助 Ubuntu 的人都应该对此感兴趣。

Eva*_*van 47

感谢您对Ubuntu 错误跟踪器项目的关注

自 Precise 12.04 起,此行为和工作流程发生了变化。正如我在 Bug #993450“Apport 无法提交错误报告”中发现的那样,默认情况下 apport 不再打开错误报告(这很尴尬,但并非不可能这样做)。

Apport 从未在发布后创建错误报告。当版本仍在开发中时,您可以使用 apport 来提交 Launchpad 错误(和错误报告)。

在 Ubuntu 的最终发布版本中,我们现在显示错误对话框。这是一个很大的改进,因为程序“消失”了,没有任何反馈,用户不知道刚刚发生了什么。

人们选择发送这些报告时收集的数据统计数据显示在http://errors.ubuntu.com 上

我留下了这个问题:用户如何了解问题的状态?蓝图现在有这个要求

用户应该有一些方法来检查他们的崩溃报告的状态;例如,有一些他们可以查看的报告 ID 以查看统计信息和/或任何相关的错误 #。例如,在提交时提供一个序列号,他们可以稍后通过网页加载。

我要把它去掉。这从来都不是本意。用户界面小心谨慎,不要承诺获得有关报告的任何反馈。

这些不是错误报告。

我们的目的是减少开发人员查找最紧迫问题、收集修复问题所需的信息以及将修复提供给用户所需的时间。

我们已经解决了找到最紧迫问题的问题。这是http://errors.ubuntu.com 的首页

foundations-q-bucketing-improvements 中解决了快速收集所需信息,而无需与遇到问题的用户进行长时间的反馈循环。该计划是让开发人员可以挂钩到服务器端的信息收集过程。如果我需要 /var/log/syslog 但它尚未提供,我只需更改http://errors.ubuntu.com上的设置,下一个遇到错误的人会自动将其添加到他们发送的数据中。

foundations-q-updates-from-crash-reports 中解决了快速向用户修复问题。当用户提交错误报告并且该错误已被修复并发布时,将出现一个对话框,询问他们是否要升级到解决他们刚刚遇到的问题的软件版本。

开发者如何进入游戏?转到https://daisy.ubuntu.com只会提供“内容类型不正确”错误消息。

http://daisy.ubuntu.com不适合人类使用。错误报告守护进程 (whoopsie) 可将报告发送至此。

其他人参与进来绝对很棒。我目前是唯一一个全职黑客。

该系统有四个部分。

  • Apport,提供桌面用户界面。
  • Whoopsie,它获取由 Apport 创建的报告(和核心转储)并将它们推送到错误跟踪器服务器 Daisy 中。
  • Daisy,它从 Whoopsie 收集报告并处理它们。这是服务的核心。它将核心文件转换为追溯报告并生成您在http://errors.ubuntu.com 上看到的统计信息。
  • Errors,这是一个基于 Django 的网站,提供人类可读的数据视图和用于处理数据的 RESTful API。

lp:daisy的 setup/ 目录下有一组稍微过时的脚本,它们应该能让您对这些部分如何组合在一起有所了解。我一直在研究 juju 护身符来代替它。目标是在云中部署整个基础架构以进行测试和开发的单一命令。

如果您有进一步的开发问题,可以在Launchpad上找到我的电子邮件地址。

更多信息:

  • 确实,@Vadi 是正确的。这没有任何歧视。如果有人想要加强和实施 Mono 支持,我会很乐意审查并合并他们的 apport 分支。 (5认同)
  • 我想你错过了他独自工作的部分,伙计。首先支持流行语言没有问题。 (2认同)

nea*_*mcb 5

要从您自己的系统查看报告,请尝试此操作,如 https://bugs.launchpad.net/ubuntu/+source/apport/+bug/994921/comments/43 中所述

xdg-open https://errors.ubuntu.com/user/`sudo cat /var/lib/whoopsie/whoopsie-id`
Run Code Online (Sandbox Code Playgroud)

如果在 Launchpad 上没有特殊权限,您将无法查看实际报告,但您可以看到它们被报告的程序,并且在与具有适当权限的开发人员交谈时可以使用提供的 id 来引用它们。