嵌入式软件开发之如何减少调试时间

嵌入式技术

1378人已加入

描述

在上文《嵌入式软件开发的十二大基本要素(三):DevOps》中,我们分析了编译时间和生产力如何影响企业的投资回报率(ROI)和总拥有成本(TCO)。

本文为白皮书系列第四部分,将分析如何减少调试时间,提升工作效率。

为了减少调试时间,开发人员需要掌握现代微控制器上的先进调试策略,并得到专业开发工具的支持。下面是 IAR 提供的智能和高级调试功能:

嵌入式软件

嵌入式软件

在Abdulaziz Alaboudi 和 Thomas D. LaToza 所做的一项研究 “An Exploratory Study of Debugging Episodes” 中观察到:开发人员花了大约一半的编程时间来进行调试。在 StackOverflow 和 Reddit 的讨论中,开发人员甚至会把高达 80% 甚至 90% 的时间花在调试上。这样算下来,仅一个开发人员每年就有大约 1000 到 1600 个小时的时间用于调试。

可见开发人员的大部分时间和项目预算都花在了调试上。而倘若调试的时间过长,那么产品和新版本发布相应地就会被推迟。研发人员把越来越多的时间花在寻找和解决越来越复杂的软件系统的问题上。

许多程序员转向通用的调试器,如 GDB。这些调试器让程序员在他们的代码中一步一步地向前走,并在走的过程中设置观察点,这可能是人类已知的效率最低的调试方法。不幸的是,由于工具的限制,嵌入式软件开发人员默认使用断点和单步的调试方法。为了减少调试时间,开发人员需要掌握现代微控制器上的先进调试策略,并得到专业开发工具的支持。

一个产品的质量与开发人员拥有的调试能力息息相关。团队能确保分析和跟踪特定错误的确切根源吗?由于工具不能提供足够详细和实时的信息,他们是在修复问题,还是主要用猜测来进行变通? IAR Embedded Workbench 所包含的最先进 C-SPY 调试器可以对应用进行实时的完全控制。

此外,它还提供了许多智能功能,如复杂的断点(代码和数据 - 无限)、观察点、剖析、代码覆盖率、带中断的时间轴、功耗记录,甚至跟踪。如此一来,可以很容易地从源头上消灭漏洞,减少了调试的时间。

掌握所有这些技术并知道何时使用它们,可以大幅减少当系统出现缺陷时的调试时间。IAR 已经得到合作伙伴的反馈,开发人员的调试时间从 80% 减少到 5% 以下。保守估计,至少减少了三分之二的调试时间,这也意味着调试时间每年最多 500 小时,这样节省了大量的人力时间(大约 1000 小时)可以进行重新分配,从而增加可用的项目开发时间。

编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分