缓冲区溢出
缓冲区溢出发生在程序写入或读出一个它不应该访问的内存区域。
算术溢出
当一个变量中包含的数字被增加到超过该变量所允许的最高数字时,就会发生算术溢出。这通常会导致该数字被重置为零。
无限循环
当程序进入一个循环(一连串的指令重复多次),并且没有办法脱离循环时,就会发生无限循环。这可能导致程序冻结。
四舍五入误差
如果一个浮点变量没有足够的精度,存储在其中的数字就会不准确。这可能会导致各种问题,这取决于程序的类型,例如,它可能会导致导航程序导航到一个非预期的位置,或者在一个音频录制程序中出现失真的声音。
除以零
除以零是一个无效的数学运算。如果一个程序将一个整数除以0,它将崩溃。在Linux上,当这个错误发生时,显示的信息是 "浮点异常",尽管不涉及浮点数字。浮点数学有时允许除以零。这通常会导致一个特殊的 "非数字 "值。
剪切问题
在视频游戏中,剪辑问题,也被称为碰撞检测问题,当一个物体通过它本来不打算通过的障碍物(如墙壁、地板或天花板)时,就会发生这种问题。这是一个非常常见的错误,在许多视频游戏中都有发现。例如,在《毁灭战士2》中,当一个被击碎的怪物被大恶魔复活时,就会发生这种情况。在加速游戏中,剪辑问题经常被用作节省时间的策略,例如,在《超级马里奥64》中,可以通过跳过天花板跳上城堡中的螺旋楼梯。
安全漏洞
安全漏洞是指允许入侵者进入计算机,或导致计算机崩溃的漏洞。导致计算机崩溃被称为拒绝服务攻击。安全漏洞被认为特别需要修复,因为它们可能允许入侵者窃取重要信息,如信用卡号码或密码。安全漏洞的例子包括Heartbleed和Shellshock。