请输入您要查询的百科知识:

 

词条 bug
释义
1 词语释义

英文单词,本意是臭虫、缺陷、损坏等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。

英文解释

[bug]呆子n.系统漏洞臭虫; [美口]虫,头虱

[口]微生物, 病菌

(机器、设计等的)缺陷;瑕疵

着迷,热衷于(某事)者

名流,要人

窃听器; 暗设警报器

(=asterisk)星号 杀毒

小型汽车

干扰, 损坏

[俚]雷达位置测定[指示]器

刮管器;清管刮刀

a lighting bug

[美]萤火虫

have a bug about sth.

热衷于某事

a bug on education

热衷于教育的人

a big bug

[贬]大亨, 大人物, 要人

vt. 装窃听器,打扰,破坏

习惯用语 as snug as a bug in a rug 非常舒适地, 极其安逸地 go bugs [美俚]失去理智; 发疯 on bug 热衷于...; 给...迷上 put a bug in sb.'s ear 事先给某人暗示[警告] bug off [美俚]停止打扰; 走开, 匆匆离开, 滚开 bug out [美俗](眼球)凸出 [美俚]龟缩; 溜走; 撤退 bug up [俚]激动起来, 被弄得稀里糊涂 bug walk [俚]床

中文解释

中文常称BUG为“缺陷”。而且,“缺陷”一词更能反映事情的本质。因为“臭虫”是从外面飞进去的,并非程序本身有问题。而程序本身存在的问题,是程序原来就具有的。因此,在这里将BUG翻译为“系统漏洞”更合适。

在现在热衷游戏的一群年轻人中,BUG也有用来描述他人行为想法的与众不同的意思。例:两个人玩DOTA,甲:“你好BUG啊,冰女出分身斧?”乙:“没事虐菜娱乐。你更BUG,光法出魂戒!”

或者某人超神,被称为“BUG男”。

在程序运用中,特别是应用程序,会出现莫名其妙的警告,让普通用户丈二和尚----摸不着头脑,这些警告常被称作“BUG”。

“BUG”的由来

Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“bug”,这是怎么回事呢?

原来,第一代的计算机是由许多庞大且昂贵的真空管组成,并利用大量的电力来使真空管发光。可能正是由于计算机运行产生的光和热,引得一只小虫子(Bug)钻进了一支真空管内,导致整个计算机无法正常工作。研究人员费了半天时间,总算发现原因所在,把这只小虫子从真空管中取出后,计算机又恢复正常。后来,Bug这个名词就沿用下来,用来表示电脑系统或程序中隐藏的错误、缺陷、漏洞等问题。

1947年,计算机还是由机械式继电器和真空管驱动的,机器有房间那么大。体现当时技术水平的MarkⅡ,是由哈佛大学制造的一个庞然大物。当技术人员正在进行不整机运行时,它突然停止了工作。他们爬上去找原因,发现这台巨大的计算机内部一组继电器的触点之间有一只飞蛾,这显然是由于飞蛾受光和热的吸引,飞到了触点上,然后被高电压击死。

与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”(中文称作“调试”),意即“捉虫子”或“杀虫子”。

后来就直接用bug 在现在很多的软件测试中 都用Bug来说明那些问题。

“Bug”的创始人格蕾丝·赫柏(Grace Murray Hopper),是一位为美国海军工作的电脑专家,也是最早将人类语言融入到电脑程序的人之一。而代表电脑程序出错的“bug” 这名字,正是由赫柏所取的。1945年的一天,赫柏对Harvard Mark II设置好17000个继电器进行编程后,她的工作却毁于一只飞进电脑造成短路的飞蛾。在报告中,赫柏用胶条贴上飞蛾,并把“bug”来表示“一个在电脑程序里的错误”,“Bug”这个说法一直沿用到今天。

游戏中的BUG

游戏中的BUG

游戏中的BUG,简单来说就是游戏程序的漏洞,游戏程序中的缺陷。游戏中有BUG是很正常的,尤其是在网络游戏中。即使所有的网络游戏都是经过封测、内测和公测这三个大的程序,但由于游戏文件和游戏中的任务以及地图的不断更新和增加,难免会在游戏制作方面出现错误和偏差。

BUG的种类

在游戏程序中出现BUG,玩家可以应用这些获得某种不应出现的奖励或效果。

1.良性BUG

良性BUG即不会产生严重后果的BUG,通常很多良性BUG被玩家们利用,方便游戏或副本,不过此举带有一定的作弊性。因此利用这种BUG来游戏是不值得提倡的。

2.恶性BUG

恶性BUG即游戏中致命的BUG,这些BUG本身就是游戏的硬伤,例如正常操作中,由于执行文件冲突或错误不兼容而导致的系统自动退出或者服务器断开等等。《封神榜叁》在开放性内测时,曾出现与服务器断开的情况,在工作人员的及时修补下,很快重新运作。

为了减少这种情况的发生,游戏制作方都在大力加强游戏的升级和补丁。如果BUG严重,网络游戏运营公司会采取回档处理,以减少玩家利用BUG或者玩家因为BUG而造成的损失。

程序设计方面的解释

所谓“(Bug)”,是指电脑系统的硬件、系统软件(如操作系统)或应用软件(如文字处理软件)出错。硬件的出错有两个原因,一是设计错误,一是硬件部件老化失效等。

软件的Bug,狭义概念是指软件程序的漏洞或缺陷,广义概念除此之外还包括测试工程师或用户所发现和提出的软件可改进的细节、或与需求文档存在差异的功能实现等。仅就狭义概念而言,软件出现Bug的原因有:

1、对各种流程分支考虑不全面;

2、对边界情况的处理不到位;

3、编码时的手误。

任何软件在发布时都不可能是绝对的零Bug。目前在软件过程管理中通行的CMM(能力成熟度模型)中规定的软件质量标准是(Bug个数/千行源码):

CMM1级 11.95

CMM2级 5.52

CMM3级 2.39

CMM4级 0.92

CMM5级 0.32

实际此事发生在1947年

“Bug”一词,是指“故障”、“缺陷”。了解软件开发的朋友都非常熟悉,程序员和测试人员更不用说,在工作中会常遇到。

9月9日下午在微博上看到@新浪科技发了一条微博消息: #历史上的今天#1945年的今天,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上(见图),写道:就是这个 bug(虫子),害我们今天的工作无法完成——于是,bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。

(图1)

(注1:微博消息是摘自一位新浪博主的博文,点击进入查看后,可知那位博主也是从网络转载。)

好奇使然,于是在Google查找信息,摘录并编译了一些英文信息。

美国海军网站上的记录

下面的蓝色段落,摘自美国海军网站(Naval History& Heritage Command)。

The following image shows an organism of great historic significance, reportedly first identified and named by Lieutenant Grace Murray Hopper while she was on Navy active duty in 1947.

下面这张画展示了一个有伟大历史意义的生物,由格蕾丝·穆雷·霍波上尉首次确认并命名。1947年,格蕾丝正在海军服役。

(图2:美国海军网站的图片,注意图中红色箭头指示的“1947”)

The First "Computer Bug"

首个“计算机Bug”

Moth found trapped between points at Relay# 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University,9 September 1947. The operators affixed the moth to the computer log,with the entry: "First actual case of bug being found". They put out the word that they had "debugged" the machine, thus introducing the term "debugging a computer program".

1947年9月9日,正在哈佛大学测试马克II型艾肯中继器计算机,在电板编号为70的中继器触点旁发现了一只飞蛾。操作员把飞蛾贴在计算机日志上了,并写下了“首个发现bug 的实际案例”。他们提出了一个词,“debug(调试)”了机器,从而引入新术语“debugging a computer program(调试计算机程序)”。

In 1988, the log,with the moth still taped by the entry,was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia.

1988年,这个仍然贴着飞蛾的日志,保存于弗吉尼亚州达尔格伦的海军水面作战中心计算机博物馆。

维基百科上的词条

另外,在英文维基百科的 Softwar bug词条中,有比较全面的介绍,摘录翻译部分内容:

“bug”术语的发明,因为格蕾丝·霍波她公布过早期电子计算机的一个故障原因,通常错误地归功于她。这个版本的故事源自下面这段话:“在1946年,当霍波退役后后,她加入哈佛大学的计算机实验室,继续研究马克II型和马克III型计算机的工作。操作员在追踪马克II型的错误时发现继电器中有一只飞蛾,遂有bug术语。这个bug被仔细移除,并被贴在日志本上。这带来的第一个bug,就是我们今日所说的错误(error)或程序中的故障(glitch)。”

格蕾丝·霍波其实并不是那位发现这只飞蛾的人,只是她欣然承认了而已。虽然日志本上的日期是1947年9月9日(见图2),不过有时候被错误地报导成1945年。发现飞蛾的操作员,包括威廉姆·比尔·伯克,伯克在弗吉尼亚州达尔格伦的海军武器实验室,熟悉工程术语,好逗乐,给飞蛾写下了“首个发现bug的实际案例”。霍波喜欢讲述这个故事。这个日志本现存于史密森尼国立美国历史博物馆,飞蛾还完整地贴于其上。

日志本的信息

从James Huggins的这篇关于第一个计算机Bug的文章中得知:那个日志本经过一些波折后,海军水面作战中心计算机博物馆在1991年捐赠给史密森尼国立美国历史博物馆。后因为经费和空间的缘故,美国历史博物馆拖了好些年才把这个日志本实际展出。

综述

综合上述信息,可以知道新浪科技所发的那条微博消息时,有不少错误,至少有两处。如下:

时间错误,并非“1945年的9月9日”,应是“1947年的9月9日”。 关于飞蛾的死,并不是格蕾丝·赫柏拍死的。发现飞蛾的时候,飞蛾已经死亡。 关于时间错误,因为新浪科技编辑是摘编自一篇个人博客,要编辑去查证,有点不现实。

关于飞蛾的死,那个人博客中是说:“哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用镊子将蛾子夹出来,计算机又恢复正常。”(且不说个人博主的说法是否正确)编辑硬要说是“格蕾丝·赫柏的人把飞蛾拍死在工作日志” ,有点让人无语。“粗心”不是理由吧?

另外,新浪科技的那条微博转发近3000,并且有不少带V字的账号转发,这条微博,误导了不少受众啊。

百度百科中的bug词条,在介绍bug由来时,写的也是“1945年”。此外,很多相关的中文文章,也都写着“1945年”。

结束语

虽说网络信息很多,判断真伪不容易,但像这种涉及国外的历史信息,其实多动动手,就可以在英文维基百科中找到相应词条。

对程序员来说,英语很重要!这里就不多解释,能体会的朋友自然可以体会。

时间匆忙,或许本文有些地方也许有误,可以在评论中留言,也可以在@程序员的那些事微博中交流讨论。

BSD用户组

BSD用户小组(简称BUG)是一个以*BSD UNIX操作系统相关技术为核心的非营利性社会团体。他们大多是BSD Hacker,也有BSDUNIX技术爱好者。他们以自由、开放、平等的理念去宣扬开放源代码精神,进行与金钱文化无关的纯粹的技术交流,分享自己的源代码与经验,并努力帮助每一位需要帮助的人。

2 网络热鼠

18岁的杰西卡-佛罗伦斯是这只网络热鼠“Bug”的主人。在她13岁时,决定喂养一只小老鼠作为宠物,但是她的这个想法一开始遭到了父母的反对,他们花费口舌来试图说服她,但未能动摇杰西卡的主意。 杰西卡对这只小老鼠颇有好感,称Bug有教养很聪明。它不仅爱干净,而且能辨别杰西卡母亲的声音。 热爱摄影的杰西卡为Bug摆出可爱的姿势,供她尽情拍照,并将其放在自己的博客中,很快杰西卡就收到了Bug粉丝的电子邮件,为老鼠疯狂。 杰西卡说,她会继续拍下去,因为她相信Bug就是老鼠T台上的超模凯特-摩丝。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/12 21:37:28