为什么我不能玩残酷原型2

总的来说,这种现象有很多方面。一是硬件有问题,也就是内存,二是软件有很多问题。

1,由微软IE缓冲区溢出漏洞引起

2.内存或虚拟内存地址使用中的冲突导致需要为程序的运行分配某个内存地址。当程序结束时,它会释放空间给新程序使用。win是一个多任务系统。有时候,在程序结束,新任务开始之前,我们需要多少内存或者虚拟内存来保证同时运行的任务?可能是win在这个问题上做的不太好,所以经常会出现这个错误,这种错误一般发生在运行大型软件或者多媒体之后。

3.劣质内存条也会有这个问题。

一般来说,内存出现问题的可能性不大。主要方面是:内存条坏了,内存质量有问题,有两个不同品牌不同容量的内存,也容易出现不兼容的情况。同时一定要注意散热问题,尤其是超频之后。可以用软件MemTest来检查内存,可以彻底检查内存的稳定性。

如果您有双内存,并且不同品牌的内存芯片混用或者您购买二手内存,就会出现此问题。这时候你就要检查一下是不是内存有问题,还是和其他硬件不兼容。

4.微软视窗系统中的漏洞,

Windows指定内存地址0X00000000到0X0000ffff作为分配空指针的地址范围。如果一个程序试图访问这个地址,它被认为是一个错误。c/c++编写的程序通常不进行严格的错误检查,当使用malloc分配内存,没有足够的地址空间可供分配时,会返回空指针。但是代码并不检查这个错误,认为地址分配已经成功,所以访问地址0X00000000,于是发生内存违规访问,进程终止。

当ASCII字符用于填充pif文件时,会出现以下情况:

非法的pif文件(用ascii字符' x '填充)必须至少有369个字节,这样系统才会认为它是合法的pif文件,显示为pif的图标,并且在其属性中有程序、字体、内存、屏幕等内容。而且,只有当非pif文件的大小为369字节时,查看属性的“程序”页面时,才不会出现程序错误,即使是370字节。当查看大于369字节的非法pif文件的“程序”属性页时,Explorer将给出错误和提示:“* * *”指令引用了“* * *”内存。无法“读取”内存。问题在于pif文件的16二进制地址:

0x 00000181[0x 87]0x 0000182[0x 005438+0]和

0x 00000231[0x C3]0x 00000232[0x 02]

即使是合法的pif文件,只要更改这四个地方中的任何一个,都会导致程序错误。也只有

要将0x00000181和0x00000182的值更改为[0xff],则其他地址将被随意更改。

不会造成错误。

5.apache服务可能没有完全正确安装和启动。将服务中的OracleOraHomeXXHTTPServer更改为stop。

6.应用程序无法检查内存分配。

当一个程序需要一块内存来存储数据时,需要调用操作系统提供的“函数function”来申请。如果内存分配成功,函数会将新打开的内存区域的地址返回给应用程序,应用程序可以通过这个地址使用这个内存。这就是“动态内存分配”,内存地址也是编程中的“指针”。

内存并不总是可用和取之不尽的,有时内存分配会失败。当分配失败时,系统函数将返回值0。此时,返回值“0”不再指示新启用的指针,而是系统发送给应用程序的一个通知,表明发生了错误。作为应用程序,应该在每次内存应用后检查返回值是否为0。如果是,则说明存在故障,需要采取一些措施来挽救,增强了程序的“健壮性”。

如果应用程序不检查这个错误,它会认为这个值是根据“思维惯性”分配给它的一个可用指针,并在后续操作中继续使用这个内存。真正的0地址存储区存储的是计算机系统中最重要的“中断描述符表”,是绝对不允许应用程序使用的。在一个没有保护机制的操作系统(比如DOS)中,向这个地址写数据会导致立即崩溃,而在一个健壮的操作系统中,比如Windows,这个操作会立即被系统的保护机制捕获,结果是操作系统会强制关闭错误的应用程序,防止其错误扩大。此时会出现上述“写内存”错误,指出引用的内存地址为“0x00000000”。

内存分配失败的原因有很多,比如内存不足,系统函数版本不匹配等。所以这种分配失败多见于操作系统使用时间较长,安装了多种应用程序(包括无意中安装的病毒程序),大量更改系统参数和系统文件之后。

7.由于应用程序自身的错误,它引用了一个异常的内存指针。

在使用动态分配的应用程序中,有时会发生这样的情况,程序试图读写一个“应该可用”的内存,但由于某种原因,这个预期的可用指针已经失败了。可能是“忘记”向操作系统要求分配,也可能是程序本身在某个时候取消了这个内存,“没注意”等等。被注销的内存被系统回收,其访问权不再属于应用程序,因此读写操作也会触发系统的保护机制,而试图“违法”的程序唯一的最终结果就是被操作停止,收回所有资源。计算机世界的法则还是比人类有效和严厉得多!

像这样的情况属于程序本身的BUG,你经常可以在一个特定的操作序列中重现错误。无效指针不总是0,所以错误提示中的内存地址不一定是“0x00000000”,也可以是其他随机数。

-

如果系统经常出现上述错误提示,以下建议可能会有所帮助:

1.检查系统中是否有特洛伊病毒。这类程序为了控制系统,往往会不负责任地修改系统,导致操作系统异常。平时要加强信息安全意识,千万不要对来源不明的可执行程序感到好奇。

2.更新操作系统,使操作系统的安装程序能够复制正确版本的系统文件并修正系统参数。有时候操作系统本身也有bug,要注意安装官方发布的升级程序。

3.尝试应用程序的新版本。

4.删除并重新创建Winnt\System32\Wbem\Repository文件夹中的文件:

右键单击桌面上的我的电脑,然后单击管理。

在“服务和应用程序”下,单击“服务”,然后关闭并停止Windows Management Instrumentation服务。

删除Winnt\System32\Wbem\Repository文件夹中的所有文件。(请在删除之前备份这些文件。)

打开服务和应用程序,单击服务,然后打开并启动Windows Management Instrumentation服务。当服务重新启动时,将根据以下注册表项中提供的信息重新创建这些文件:

HKEY _ LOCAL _ MACHINE \ SOFTWARE \ Microsoft \ WBEM \ CIMOM \ Autorecover MOFs

[url= /viewthread.php?tid=627383。fpage = 1 & amp;highlight=] /viewthread.php?tid=627383。fpage = 1 & amp;突出显示=[/url]

网上挑,其实我的低端电脑,玩一些大牌,短时间内也会出现和你一样的情况。