38 使用错误报告工具

错误报告工具可以将构建期间遇到的错误提交到集中式数据库。在构建环境之外, 可以通过 Web 界面浏览错误、查看统计数据和查询错误。该工具采用客户端与 服务器架构,客户端集成在 OpenEmbedded-Core (OE-Core) 中,服务器 接收收集到的信息并将其保存到数据库。

https://errors.yoctoproject.org 上运行着一个错误报告服务器实例。如果希望 就构建失败寻求帮助,可以方便地提交全部失败信息,再在缺陷报告或发往邮件 列表的邮件中提供对应 URL。

备注

发送到此服务器的错误报告将公开可见。

38 启用和使用工具

错误报告工具默认禁用。可在 Build Directory 的 build/conf/local.conf 文件末尾添加以下语句,通过继承 report-error 类来启用:

INHERIT += "report-error"

默认情况下,错误报告功能将信息保存在 ${LOG_DIR}/error-report 中。也可以在 build/conf/local.conf 文件中添加以下内容来指定目录:

ERR_REPORT_DIR = "path"

启用错误报告后,构建过程会收集错误并按上述方式保存到文件。构建系统遇到 错误时,会在控制台输出中给出一条命令,运行该命令即可将错误文件发送到服务器。 例如,以下命令将错误发送到上游服务器:

$ send-error-report /home/brandusa/project/poky/build/tmp/log/error-report/error_report_201403141617.txt

上例将错误发送到整个社区共用的公开数据库 https://errors.yoctoproject.org。 指定其他服务器后,也可以将错误发送到不同数据库。可用选项见以下命令的输出:

$ send-error-report --help

发送错误文件时,工具会提示审阅即将发送的数据,并要求提供姓名和可选的 电子邮件地址。完成后,命令返回服务器上对应数据库条目的链接,例如: https://errors.yoctoproject.org/Errors/Details/9522/

打开链接即可进入 Web 界面,浏览、查询错误并查看统计数据。

38 禁用工具

要禁用错误报告功能,只需在 Build Directory 的 build/conf/local.conf 文件末尾删除或注释以下语句:

INHERIT += "report-error"

38 搭建自己的错误报告服务器

如果希望搭建自己的错误报告服务器,可从 https://git.yoctoproject.org/error-report-web/ Git 仓库获取代码。搭建说明见 README 文档。