「
bug 」重定向至此。关于英语单词“bug”的另一种含义,请见「
昆虫 」。关于一種語言代碼為“bug”的東南亞語言,请见「
布吉語 」。
第一次发现导致计算机错误的飞蛾 ,也是第一个计算机程序错误。
貝爾尼十字架站 的當機狀態
广州地铁票务检验机弹出程序出错对话框
程序错误 (英語:bug ),是程序设计 術語,是指软件 运行時因程序 本身有错误而造成功能不正常、死机 、数据丢失、非正常中断等现象。有些程序错误会造成计算机安全隐患,此时叫漏洞 。
一些有趣的隐错有时也会成为一种乐趣。在电脑游戏 中,假如一些隐错不令遊戲出現大錯誤的話,经常会变成一种玩游戏时的秘技 (秘技有時是遊戲設計者故意加入,用於檢查程序設計,繞過不需要的步驟直接檢驗需要的地方時所使用的代碼)。
有严重后果的错误会受到广泛关注。[ 1] 修补、改正软件程序错误的过程称为调试 。
「bug」的詞源
來自工程學
用bug來指工程錯誤這種用法大約出現在1870年代,早在電腦出現前就存在。目前最早找到的證據是愛迪生 在1878年的信[ 2]
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”(原意“虫子”)来称呼计算机隐错。现在在华盛顿 美国国家历史博物馆 还可以看到这份遗稿。[ 3]
管理錯誤的常見用語
典型錯誤歷史(GNU Classpath project數據)。由用戶提交的錯誤是「未確認」(unconfirmed),一旦該錯誤由開發人員重現,即為「已確認」(confirmed)錯誤。此後已確認的錯誤會「修復」(fixed)。其他類別的錯誤(無法重現、不予解決等)通常不多見。
處理進度
New:代表新回報错误
Resolved:代表错误已處理完(見下方「處理方式」)
Closed:處理完並已驗證
處理方式
Fixed:错误已修復
Later:必須到未來的版本才能解決。
Workaround:不能解決,但可用替代方法 避開。
Duplicate:重複回報的错误
Severity:错误造成的嚴重度
Debugging(简称Debug):指解决错误的动作和过程(调试 )。
参见
参考资料