报告错误
由于我们的开发人员不可能测试每种硬件组合和每种不同的系统交互方式,所以我们依赖于用户,通过用户来给予我们Haiku的运行情况。由于Haiku还很年轻,您在使用时很有可能会遇到错误。我们非常感谢您能够分出时间来提交这些错误报告。我们可以共同的一位一位的提高Haiku的性能。
为了确保我们的错误跟踪系统的有效性,遵守共同的错误报告规范是很有必要的。
获取Trac账户
为了提交任务单,您需要在Haiku的错误跟踪系统中注册一个账户。
在新建账户时,你需要提供自己的电子邮箱 ,否则您将不具有基本的任务单修改权限。之后,您一定要保证检查您的垃圾邮件文件夹,因为所有重要的验证邮件都会被发送到那儿去。
创建错误报告
在报告一个错误之前,请您确保该错误报告之前不存在。你可以使用查找功能来查找其是否存在。
在确定它是一个独特的错误之后,您需要尽可能的找出有关的详细信息:
包括基本的信息,例如以何种方式测试Haiku(利用真实的硬件,VMware,还是QEMU)。
提及您正在运行的系统的 SVN 发布版本。你可以在桌面栏菜单中的 'About This System...' 中找出相关信息。
描述您所遇到的问题。尽量把问题讲得精确和明白:描述详细的系统行为反馈,和您期望的反馈。
描述暴露该错误所需要的操作步骤。这将会有助于开发者重现该错误,并对其进行修复和完善。
附带你所掌握的尽可能多的信息。如果是一个GUI错误,或者图形程序错误,尽量附带出现错误时的屏幕截图。(PRINT 键保存了一个PNG 图像到 /boot/home/)。
软件错误
如果出现了程序崩溃,您应该从弹出的警告窗口中启动调试程序。 在启动的调试终端中,输入bt,你将会创建关于调试信息的“回溯”,然后你应该把它复制到您的错误报告中。
硬件错误
如果遇到了硬件或者驱动相关的错误,您应该附带下列信息:
- listdev - 有关您的硬件的详细列表,包括提供商和PCI ID。类似于Linux下的 lshw 和 lspci 。
- listusb -v - 如果存在USB相关的问题;类似于Linux下的 lsusb。
- open /var/log/syslog - Haiku主要的系统日志,近似于在启动期间的屏幕调试。使用 open 命令,您可以把在文本编辑器中把系统日志中重要的部分裁剪下来。
- listimage | grep drivers/ - 列出所有使用的驱动。
- ints - 只在 内核调试状态 下才可用(参见下文)。它显示了中断的使用情况,而由不同的硬件所共享的中断并不是很多。
您在终端中输入这些命令,在每个命令后面添加 > output.txt 。 然后命令输出的结果就被重定向到一个称为 “output.txt” 的文本文件;您可以把它附带到您的错误报告或者邮件中。
内核调试 - KDL
如果某些底层的系统组件发生了崩溃,您可能就会进入了内核调试状态。您也可以有意识的使用 ALTSysReqD(SysReq 在多数键盘中都是 PRINT)来进入内核调试状态。
- co - 如果可能的话,系统将会结束内核调试状态,返回正常的系统操作界面。
- int - 将会显示中断使用情况(如上所述)。
- bt - 显示一个调试信息的回溯,详细的给出了崩溃发生的地方。
下一步?
在您提交了错误报告之后,开发人员将会检查您的错误,然后尝试进行修复。但是需要注意的是,我们所有的人员都是志愿者,有时候一个错误报告可能会很长时间没有人来进行回答。如果可以的话,添加新的信息将会有助于早点修复错误,但是请不要添加非描述性的评论来将“炒热”该错误。
切记,提交错误报告不是花些很少的时间写个报告的事。如果您提交了一个错误,然后您属于Haiku开发过程中的一部分。开发人员在解决您的错误过程中可能会遇到问题,因此请你一定要始终关注该错误,然后回答相关的问题。如果该问题没有“fixed”,你的任务就没有“done”。