评估和掌握实时调试技术

开发人员可以遵循许多技术和过程,以最大程度地减少嵌入软件中的缺陷(错误)。不管人们多么认真地开发他们的软件,总是会有一些人偷偷摸摸地要求我们对软件进行故障排除(调试)。在这篇文章中,我们将研究开发人员可用的现代故障排除技术,并开发一种可用于提高这些技能的简单方法。

几年前,我厌倦了花费60%或更多的时间进行故障排除软件。在那段时间里,我全神贯注于学习技术,这些技术可以大大减少我花在进行故障排除上的时间,从而可以专注于更多的增值活动。通常,我发现开发人员可以使用八种故障排除技术类别。这些包括:

  • 手表和表情
  • 断点
  • printf(终端样式文本输出)
  • 断言
  • 统计分析
  • 资料分析
  • 任务和数据跟踪
  • 指令追踪

I’我们相信,故障排除所花费的时间与开发人员对故障排除技术的掌握水平直接相关。我不’没有任何硬数据,但是’每年与各行各业的数百名工程师交谈时,都会得到一种直觉。那么,我们如何确定我们是否具备成为快速,高效的漏洞排除程序所需的技能?

我建议将所有这些技能放在类似于下面的蜘蛛图上,但不要使用花哨的图形。诚实地看待每项技能,并从0开始进行评估–10您对该技能的掌握。在这种情况下,排名为0就是您不’不要使用那种技术。排名10意味着您已经完全掌握了该技术,没有别的要学习了。我会怀疑许多开发人员的指令跟踪接近于0,而大多数使用监视和断点的却只有9或10。

一旦您完成了每个技能的排名,就将它们全部加起来。您的技能水平可以根据以下范围来描述:

0 –40:在黑暗时代跌跌撞撞

40 –60:爬出深渊

60 –80:快速,高效的Bug Squasher

现在,该数字将为您提供总体技能水平。目标是在未来几个月内提高该分数。为此,请从蜘蛛图的顶部开始,然后顺时针移动,直到找到第一个小于7的技能等级。着重在接下来的几个月中将该技能提高到7。您可能会发现您需要执行以下操作:

  • 读书
  • 查找涵盖主题的白皮书
  • 参加课程
  • 在实际系统上练习调试和实现

有很多方法可以提高您的技能,但目标是提高他们。提高您的技能水平,并专注于减少用于故障排除的时间百分比。最后,你’您会发现自己的压力减轻了很多,更多的时间专注于开发,并且很容易达到那些总是快到的截止日期。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.