我们的应用程序中有一个错误,该错误并非每次都会发生,因此我们不知道它的“逻辑”。我今天连 100 次都没有复制它。
免责声明:这个错误存在并且我已经看到了。这不是pebkac或类似的东西。
重现此类错误的常见提示是什么?
最佳答案
两人一组分析问题,两人一组阅读代码。记下您知道的真实问题,并尝试断言哪些逻辑前提条件必须成立才能发生这种情况。像 CSI 一样追踪证据。
大多数人本能地说“添加更多日志记录”,这可能是一个解决方案。但对于很多问题来说,这只会让事情变得更糟,因为日志记录可以充分改变时间依赖性,从而使问题或多或少发生。将频率从千分之一更改为百万分之一并不会让您更接近问题的真正根源。
因此,如果您的逻辑推理无法解决问题,它可能会为您提供一些细节,您可以通过代码中的日志记录或断言进行调查。
关于debugging - 如何重现偶尔发生的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515903/