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 文档。