详细剧情
程序错误(英语:bug),是程序设计术语,是指软件运行时因程序本身有错误而造成功能不正常、死机、数据丢失、非正常中断等现象。有些程序错误会造成计算机安全隐患,此时叫漏洞。
一些有趣的隐错有时也会成为一种乐趣。在电脑游戏中,假如一些隐错不令遊戏出现大错误的话,经常会变成一种玩游戏时的秘技(秘技有时是遊戏设计者故意加入,用于检查程序设计,绕过不需要的步骤直接检验需要的地方时所使用的代码)。
有严重后果的错误会受到广泛关注。修补、改正软件程序错误的过程称为调试。
== 「bug」的词源 ==
=== 来自工程学 ===
用bug来指工程错误这种用法大约出现在1870年代,早在电脑出现前就存在。目前最早找到的证据是爱迪生在1878年的信It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise—this thing gives out and [it is] then that "Bugs"—as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.中译如下:在我所有发明都如此。第一步是直觉,然后灵光一闪,然后出现困难——这事发生了,然后“bug”——这样称呼那些微小错误和困难——展现出来。在明确到达商业成功或失败前必需数个月的密切关注、研究和劳动。
=== 资讯工程与一般大众所知的起源 ===
1947年9月9日,葛丽丝·霍普(Grace Hopper)发现了第一个电脑bug。有一次Mark II突然宕机,整队团队都搞不清电脑为何不能正常运作。经过大家深度挖掘,发现原来有飞蛾意外飞入一台电脑引起故障(如图所示)。团队很快排除错误,并在日志本记录这事。也因此,人们逐渐开始用“bug”(原意“虫子”)来称呼计算机隐错。现在在华盛顿美国国家历史博物馆还可以看到这份遗稿。
== 管理错误的常见用语 ==
处理进度
New:代表新回报错误
Resolved:代表错误已处理完(见下方「处理方式」)
Closed:处理完并已验证
处理方式
Fixed:错误已修复
Later:必须到未来的版本才能解决。
Workaround:不能解决,但可用替代方法避开。
Duplicate:重复回报的错误
Severity:错误造成的严重度
Debugging(简称Debug):指解决错误的动作和过程(调试…