程序错误

软件错误是计算机程序中的代码问题,使其不能正常工作。它们会给用户带来不便,并可能使其计算机崩溃或冻结。大多数计算机程序都有bug。一个有大量错误的程序(或者可能是一个或几个严重的错误)被说成是有错误的

大多数bug是由开发者的错误编程造成的,但有时也可能是由编译器问题造成的。当发现错误时,人们会向开发者发送错误报告,告诉他们这个错误并让他们修复它。

有时,人们会说他们的电脑有毛病,但它却出了问题。这个问题通常是由电脑病毒引起的,该病毒感染了他们的电脑,使其速度变慢或做不同的事情。

一些错误是无害的,例如,许多视频游戏不正确地允许物体穿墙移动。其他错误则更为严重,例如,导航系统中的一个错误导致飞机爆炸。



虫子的类型

缓冲区溢出

缓冲区溢出发生在程序写入或读出一个它不应该访问的内存区域。

算术溢出

当一个变量中包含的数字被增加到超过该变量所允许的最高数字时,就会发生算术溢出。这通常会导致该数字被重置为零。

无限循环

当程序进入一个循环(一连串的指令重复多次),并且没有办法脱离循环时,就会发生无限循环。这可能导致程序冻结。

四舍五入误差

如果一个浮点变量没有足够的精度,存储在其中的数字就会不准确。这可能会导致各种问题,这取决于程序的类型,例如,它可能会导致导航程序导航到一个非预期的位置,或者在一个音频录制程序中出现失真的声音。

除以零

除以零是一个无效的数学运算。如果一个程序将一个整数除以0,它将崩溃。在Linux上,当这个错误发生时,显示的信息是 "浮点异常",尽管不涉及浮点数字。浮点数学有时允许除以零。这通常会导致一个特殊的 "非数字 "值。

剪切问题

在视频游戏中,剪辑问题,也被称为碰撞检测问题,当一个物体通过它本来不打算通过的障碍物(如墙壁、地板或天花板)时,就会发生这种问题。这是一个非常常见的错误,在许多视频游戏中都有发现。例如,在《毁灭战士2》中,当一个被击碎的怪物被大恶魔复活时,就会发生这种情况。在加速游戏中,剪辑问题经常被用作节省时间的策略,例如,在《超级马里奥64》中,可以通过跳过天花板跳上城堡中的螺旋楼梯。

安全漏洞

安全漏洞是指允许入侵者进入计算机,或导致计算机崩溃的漏洞。导致计算机崩溃被称为拒绝服务攻击。安全漏洞被认为特别需要修复,因为它们可能允许入侵者窃取重要信息,如信用卡号码或密码。安全漏洞的例子包括Heartbleed和Shellshock。



错虫

误码是一个被用作功能的错误。一个例子是安卓手机中的一个错误,允许用户获得root权限。



硬件错误

有些错误影响硬件(计算机的物理部分)而不是软件。例如,在旧的奔腾处理器上运行指令cmpxchg8b eax会导致处理器停止工作,直到重新启动。由于硬件错误是物理设计缺陷,它们不能用软件更新来纠正,尽管有可能用软件更新来解决(隐藏)这个错误。



问题和答案

问:什么是软件漏洞?
答:软件错误是指计算机程序中的代码有问题,导致其不能正常工作。

问:软件错误有什么后果?
答:软件错误会给用户带来不便,并可能使他们的计算机崩溃或冻结。

问:是否所有的计算机程序都有bug?
答:是的,大多数计算机程序都有bug。

问:什么是有缺陷的程序?
答:有缺陷的程序是指有大量的缺陷,也可能是单个或几个严重的缺陷。

问:谁对计算机程序中的大多数bug负责?
答:大多数bug是由开发者的错误编程造成的,但有时也可能是由编译器问题造成的。

问:当人们发现计算机程序中的错误时,他们会怎么做?
答:当发现bug时,人们会向开发者发送bug报告,告诉他们这个bug并让他们修复它。

问:当人们说他们的计算机有一个错误时,是什么意思?
答:当人们说他们的计算机有错误时,通常是指计算机出了问题,这通常是由计算机病毒引起的,该病毒感染了他们的计算机,使其变慢或做不同的事情。

AlegsaOnline.com - 2020 / 2023 - License CC3