程序错误

程序错误英語:),是程序设计中的術語,是指在软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断等现象。有些程序错误会造成计算机安全隐患,此时叫做漏洞

软件开发
核心行动
范式与模式
方法论与框架
支持行为
实践
工具
标准与知识体系
第一次被发现的导致计算机错误的飞蛾,也是第一个计算机程序错误。
广州地铁票务检验机发生程序出错弹出对话框

一些有趣的隐错有时也会成为一种乐趣。在电脑游戏中,假如一些隐错不令遊戲出現大錯誤的話,经常会变成一种玩游戏时的秘技(秘技有時是遊戲設計人故意造成的,用於程序設計上的檢查,繞過不需要的步驟直接檢驗需要的地方時所使用的代碼)。

有严重后果的程序错误会受到广泛关注。[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]

Bug的管理與一些常見的名詞

典型錯誤歷史(GNU Classpath project 數據)。由用戶提交的錯誤是「未確認」(unconfirmed)的,一旦該錯誤由開發人員重現,即為「已確認」(confirmed)錯誤。此後已確認的錯誤會「解決」(fixed)。其他類別的錯誤(無法重現、不予解決等)通常並不多見。
  • 處理進度
    • New:代表新回報的Bug
    • Resolved:代表Bug已處理完(見下方「處理方式」)
    • Closed:處理完並已被驗證
  • 處理方式
    • Fixed:Bug被解決
    • Later:必須到未來的版本才能解決。
    • Workaround:不能解決,但能用其他替代方法来避開問題的。
    • Duplicate:重複回報的Bug
    • Severity:Bug造成的嚴重性
    • Debugging(简称Debug):指解决Bug的动作和过程(调试)。

参考资料

  1. . [2017-02-04]. (原始内容存档于2017-02-05).
  2. Hughes, Thomas Parke. . 1989: 75. ISBN 978-0-14-009741-2.
  3. Log Book With Computer Bug 页面存档备份,存于, National Museum of American History

参见

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.