调试是每个开发人员都想避免的任务,但不幸的是,它是软件开发中不可避免的罪恶。到了卷起袖子开始调试的时候,每个开发人员都应该记住7个技巧。
技巧 1——采取可控的步骤
当一个bug爬进嵌入式软件时,开发人员的第一反应是跳入代码并开始修改。它们通常是随意的,几乎是随机的,而不是以一种受控制和受指导的方式做出改变。嵌入式软件开发不是蛮荒的西部。即使是最简单的bug的解决也应该包括检查可用的数据,评估它,假设最可能的原因,更新然后测试。如果改变不能解决问题,新的数据应该出现,然后帮助过程重复。
技巧2——增加断言密度
ASSERT宏是一个很好的工具,开发人员可以用它来验证代码中的假设。令人惊讶的是,许多开发人员没有花时间将它们放入他们的代码中。代码库的断言密度通常是漫长而痛苦的调试会话之间的差异,或者是失败假设发生时的陷阱。ASSERT可以帮助开发人员立即发现错误或假设失败。
技巧3——使用数据记录器
关于软件如何运行的信息是嵌入式软件工程师调试时最有用的工具。拥有诸如任务何时开始和完成、它们是否被抢占等性能信息以及其他细节可能是至关重要的。使用日志是开发人员深入了解软件的一个很好的方式。日志可以像RAM缓冲区、写入外部闪存的文件一样简单,也可以像传输到远程位置的编码数据一样复杂。在任何情况下,日志文件都是收集调试和系统分析信息的好方法。
技巧4——使用高级断点
开发人员熟悉使用标准断点,