调试器的块

Joe*_*Fan 6 debugging

你是否碰到过一个你只是出于想法并且不知道下一步该尝试什么的错误,你真的生气了?关于如何突破这种模式有什么一般性的想法吗?

nat*_*han 11

当我被这样封锁时,我发现的最佳建议就是离开一段时间.无论是长时间的午餐还是一天的假期.回来新鲜,焕然一新.大多数时候答案都会盯着你.到目前为止,10分钟的咖啡休息时间对我来说还不够,但您的里程可能会有所不同.

第二,与同行交谈.走过你尝试过的一切.只要让他们听,当你谈论它的时候,很多时候,你会得到答案.

这些只是我调试阻塞时经常使用的两个.


Dev*_*inB 5

  • 五分钟休息

非常关键,以免砸碎键盘.

  • 在给你妹妹的电子邮件中解释问题

或者你两岁的儿子.有人谁也不会理解一个词,除非你解释得很清楚*.您不需要发送电子邮件,只需要确定您是否了解它.你会惊讶于简单地重复这个问题多少次突然让你明白你哪里出错了.这是发现您对问题的假设以及它们可能不一定正确的一种好方法.

*这个链接是JaredPar在一个不同的SO问题上的一个很好的答案.

  • 和同事谈谈

到目前为止,您已经"通过电子邮件发送"了家庭宠物,因此您知道您希望涵盖所有愚蠢的方面,是时候与真人交谈了.他们过去可能经历过一些模糊不清的事情,提醒他们注意这种情况,他们肯定会有不同的观点.尽量确保你清楚问题是什么,而不是你认为的问题.你不想偏袒他们.你可以而且应该谈论他们尝试过的东西,并解释为什么你认为问题出在那个领域(你可能是对的)但是你不想让他们对他们的建议大开眼界,即使他们没有似乎是对的.

  • 再看一下代码

到了这个时候,你应该希望减少暴力,你应该拥有新的想法.首先重新验证错误.这是一个简单的步骤,但我已经对我们的测试脚本中的错误感到沮丧,而不是在我们的代码中.一旦您再次验证了该错误,请从顶部开始.验证一切.在你最有信心的最后一点放一个断点,然后继续前进,直到你发现输出再次被打破.这是一个巨大的成功,因为你现在有一个希望更小的代码块来调查.然后,如有必要,请拉一位同事查看实际运行的代码.