以下是无法理解Bug分类:
- 很难复制
- 你不太了解整个系统
- 很难获得有关Bug的数据
- 你的假设之一是错误的
- 这个bug真的很复杂
- bug是不确定的
- 您无权访问那些发生过bug的机器
- Bug在客户计算机上运行的软件(二进制文件或网站),他们遇到了问题,而您无法直接访问他们的计算机以查看发生了什么。
- bug问题涉及您没有很多访问权限的托管云服务。
- bug问题仅发生在您无权访问的数据输入上(可能是因为数据已分类/私有)
- 您无权访问重现bug所需的数据
- 重现很慢
- 未知的未知数:bug涉及您不知道的系统或概念
- bug位于您不了解的外部库中
- 你需要了解库是如何运作的
- 修改库并让您的程序使用库的修改版本并不总是那么容易,因此很难进行试验和更改或向库添加额外的检测
- 你根本不明白bug信息
- “β 的值可能会产生 dom!”,来自Mark Allen 关于该错误消息的演讲或
- “大小必须介于 16793600(16MB) 之间”第一个元素:点数来自谈话Kiran Bhattaram的被诅咒的操作系统教科书的故事
- 如果您不知道某些编译器错误消息的含义,它们可能会非常令人困惑
- 您不知道要搜索哪些关键字以获取更多信息
- 该错误位于专有系统中
- 该系统记录不全
- 没有文档,或者文档非常稀疏
- 关于系统的唯一信息是从别人无法联系-的人谁不知道它已经离开了公司,或者你不知道他们是谁,或者他们在一家公司工作,你无法找到任何联系信息
- 您需要的信息在 2000 页的 PDF 中,您不知道从哪里开始查找
- 根本没有输出
- 输出太多了
- 有关该错误的信息分散在许多地方
- 无法使用调试器/添加打印语句
- 当您使用调试器时,错误就会消失
- 假设您的新代码正在运行,而实际上正在缓存某些内容
- 假设设置了一些环境变量而不是
- 假设错误在软件中,而它在硬件中(就像一根坏电缆!)
- 假设文档是正确的
- 红鲱鱼
- 有效的情况和无效的情况看起来完全一样
- 一个输入导致您的代码中断,但它在一堆其他输入上成功,您无法弄清楚使代码中断的输入有何不同
- 有一个错字,你的大脑只是拒绝注意到
- 一个非常小的代码更改导致了一个错误,你真的认为它不应该有任何区别
- 完全相同的代码在相同的输入上运行,但是有一些外部因素导致了您没有考虑过的错误(例如磁盘上的文件或环境变量)
- 代码很复杂
- 当你谷歌时,错误信息有 0 个结果
- 一个bug实际上是 3 个bug错误
- 它是间歇性的(仅在有大量交通时发生)
- 它只发生在生产中
- 他们无法直接访问发生这种情况的系统(由供应商管理)
- 它涉及一个他们以前不知道存在的 Linux 内核系统