造成软件危机的原因
最常见的软件崩溃的原因有很多。
1. 该软件本身的bug,如野生指针,使用已释放的内存,double free,缓冲区溢出,等等。
2. 库/sdk软件使用的bug,同上。
3. 操作系统的bug可以是用户状态的组件,有时核心状态的bug也可能导致用户状态过程的崩溃。
4. 注进此过程的其他代码(如病毒)的bug。
5. 真的是内存(硬件)坏了。以前有个故事说用户碰到这个错误找厂家技术支持,然后技术支持者说内存条坏了要换。这是个笑话,但事实上,硬件问题可能会导致这种现象。
6. 硬询问题。什么?是的,这是硬询问题。在这种情状下,这个过程中的一些内存以前写过,然后当过程需要访问内存地址时,操作系统将插进并将数据从pagefile读回内存。此时,假如硬盘有问题,无法读取数据,最终外看就是这样。
0