查找引入错误的特定提交¶
本文将介绍如何执行固件二进制更新。 分段搜索.这是一种高效的技术,可用于查找引入可重现错误的特定构建/提交。
提示
了解缺陷首次出现的构建时间有助于确定问题的可能原因,并为日志分析和其他调试技术提供信息。
固件版本可从 firmware.ardupilot.org 每种车型的 旋翼飞行器, 固定翼飞行器, 无人车UGV, 天线跟踪器.要执行分段搜索:
首先,在已知工作和已知失败版本之间的中间位置测试固件版本。这样就能得到一个新的 "已知正常 "或 "已知失败 "版本,并将必须测试的版本数量减半。
重复这一测试过程,每次都将测试范围减半,直到找出有问题的构建模块。
确定问题后,请记下版本号并将其包含在错误报告中。
备注
自动测试系统会为源代码树的每次提交生成一个新的固件编译版本(这只是稍作简化,因为如果在测试前一个编译版本时提交了新版本,则可能会被分批提交)。这就意味着,如果错误是可重现的,就有可能识别出首次出现错误的特定提交。
考虑到 ArduPilot 固件构建的数量,应该可以在大约 10 次测试(在编写本报告时)内找到有问题的构建/提交。