回族风俗文化:求助电脑高手....

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 05:29:19
我玩飚车进游戏时出现话框: 应用程序错误 0x00000000指令引用0x00000000内存,该内存不能为“read”...把他关掉后还可进入游戏,但在游戏运行过程中有时也出现这个话框然后自动退出游戏..游戏重下了重装也是这样..机器没有病毒,内存1G也没有问题,做别的都正常///这是怎么回事???怎么解决???/谢谢....

是软件冲突造成的,系统要对一段内存进行保护,其他用户程序无法访问,当用户程序非法读取这些内存空间时,就会发生这样的错误。从操作系统底层的角度来说应该是:由于有用户模式的程序试图访问以内核模式运行的进程,在进程间通信的共享地址段中试图读取被保护的数据流,因此造成了访问冲突。这个问题最大的可能是由于防病毒软件或一些第三方的系统监视服务禁止了该程序对某些内存地址的访问操作。
==============================================

内存出错的原因
使用Windows操作系统的人有时会遇到这样的错误信息:“0X????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果去请教一些“高手”,得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实,这个错误并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因。

一、应用程序没有检查内存分配失败

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

内存不是永远都招之即来、用之不尽的,有时候内存分配也会失败。当分配失败时系统函数会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的一个通知,告知出现了错误。作为应用程序,在每一次申请内存后都应该检查返回值是否为0,如果是,则意味着出现了故障,应该采取一些措施挽救,这就增强了程序的“健壮性”。

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

内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响。因此,这种分配失败多见于操作系统使用很长时间后,安装了多种应用程序(包括无意中“安装”的病毒程序),更改了大量的系统参数和系统文件之后。

二、应用程序由于自身BUG引用了不正常的内存指针

在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存,但不知为什么,这个预料中可用的指针已经失效了。有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收,其访问权已经不属于该应用程序,因此读写操作也同样会触发系统的保护机制,企图“违法”的程序唯一的下场就是被操作终止运行,回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!

像这样的情况都属于程序自身的BUG,你往往可在特定的操作顺序下重现错误。无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。

如果系统经常有所提到的错误提示,下面的建议可能会有帮助:

1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序绝不好奇。

2.更新操作系统,让操作系统的安装程序重新拷贝正确版本的系统文件、修正系统参数。有时候操作系统本身也会有BUG,要注意安装官方发行的升级程序。

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

这种情况经常出现,是安装文件存在问题了,您可以尝试换一张光盘安装,这种情况只会在盗版中出现.
诸兄弟好运!
新年快乐

win2000/XP系统14种解决方法

1.停止错误编号:0x0000000A
说明文字:IRQL-NOT-LESS-OR-EQUAL
通常的原因:驱动程序使用了不正确的内存地址.
解决方法:如果无法登陆,则重新启动计算机.当出现可用的作系统列表时,按F8键.在Windows高级选项菜单屏幕上,选择"最后一次正确的配置",然后按回车键.
检查是否正确安装了所有的新硬件或软件.如果这是一次全新安装,请与硬件或软件的制造商联系,获得可能需要的任何Windows更新或驱动程序.
运行由计算机制造商提供的所有的系统诊断软件,尤其是内存检查.
禁用或卸掉新近安装的硬件(RAM,适配器,硬盘,调制解调器等等),驱动程序或软件.
确保硬件设备驱动程序和系统BIOS都是最新的版本.
确保制造商可帮助你是否具有最新版本,也可帮助你获得这些硬件.
禁用 BIOS内存选项,例如cache或shadow.

2.停止错误编号:0x0000001E
说明文字:KMODE-EXPTION-NOT-HANDLED
通常的原因:内核模式进程试图执行一个非法或未知的处理器指令.
解决方法:确保有足够的空间,尤其是在执行一次新安装的时候.
如果停止错误消息指出了某个特定的驱动程序,那么禁用他.如果无法启动计算机.应试着用安全模式启动,以便删除或禁用该驱动程序.
如果有非 Microsoft支持的视频驱动程序,尽量切换到标准的VGA驱动程序或Windows提供的适当驱动程序.
禁用所有新近安装的驱动程序.
确保有最新版本的系统BIOS.硬件制造商可帮助确定你是否具有最新版本,也可以帮助你获得他.
BIOS内存选项,例如cache,shadow.

3.停止错误编号:0x00000023或0x00000024
说明文字:FAT-FILE-SYSTEM或MTFS-FILE-SYSTEM
通常原因:问题出现在Ntfs.sys(允许系统读写NTFS驱动器的驱动程序文件)内.
解决方法:运行由计算机制造商提供的系统诊断软件,尤其是硬件诊断软件..
禁用或卸载所有的反病毒软件,磁盘碎片整理程序或备份程序.
通过在命令提示符下运行Chkdsk /f命令检查硬盘驱动器是否损坏,然后重新启动计算机

4.停止编号:0x0000002E
说明文字ATA-BUS-ERROR
通常的原因:系统内存奇偶校验出错,通常由硬件问题导致.
解决方法:卸掉所有新近安装的硬件(RAM.适配器.硬盘.调制解调器等等).
运行由计算机制造商提供的系统诊断软件,尤其是硬件诊断软件.
确保硬件设备驱动程序和系统BIOS都是最新版本.
使用硬件供应商提供的系统诊断,运行内存检查来查找故障或不匹配的内存.
禁用BIOS内存选项,例如cache或shadow.
在启动后出现可用作系统列表时,按F8.在Windows高级选项菜单屏幕上,选择"启动VGA模式:.然后按回车键.如果这样做还不能解决问题,可能需要更换不同的视频适配器列表,有关支持的视频适配器列表,请参阅硬件兼容性列表.

5.停止编号:0x0000003F
说明文字:NO-MOR-SYSTEM-PTES
通常的原因:每哟正确清理驱动程序.
解决方法:禁用或卸载所有的反病毒软件,磁盘碎片处理程序或备份程序.

6:停止错误编号:0x00000058
说明文字:FTDISK-INTERN-ERROR
通常的原因:容错集内的某个主驱动器发生故障.
解决方法:使用Windows安装盘启动计算机,从镜象(第2)系统驱动器引导.有关如何编辑Boot.ini文件以指向镜象系统驱动器的指导,可在MIcrosoft支持服务Web站点搜索"Edit ARC path".

7.停止错误编号:0x0000007B
说明文字:INACCESSI-BLE-BOOT-DEVICE
通常原因:初始化I/O系统(通常是指引导设备或文件系统)失败.
解决方法:引导扇区病毒通常会导致这种停止错误.是用反病毒软件的最新版本,检查计算机上是否有存在病毒.如果找到病毒,则必须执行必要的不找把他从计算机上清除掉,请参阅反病毒软件文档了解如何执行这些步骤.
卸下所有新近安装的硬件(RAM,适配器,调制解调器等等).
核对MIcrosoft硬件兼容性列表以确保所有的硬件和驱动程序都与Windows兼容.
如果使用的适SCSI适配器,可以从硬件供应商除获得最新WINDOWS驱动程序,禁用SCSI设备的同步协商,检查该SCSI链是否终结,并核对这些设备的SCSI ID,如果无法确定如何执行能够这些步骤,可参考硬件设备的文档.
如果你用的是IDE设备,将板上的IDE端口定义为唯一的主端口.核对IDE设备的主/从/唯一设置.卸掉除硬盘之外的所有IDE设备.如果无法确认如何执行这些不找,可参考硬件文档.
如果计算机已使用NTFS文件系统格式化,可重新启动计算机,然后在该系统分区上运行Chkdsk /f/r命令.如果由于错误而无法启动系统,那么使用命令控制台,并运行Chkdsk /r命令.
运行Chkdsk /f命令以确定文件系统是否损坏.如果Windows不能运行Chkdsk命令,将驱动器移动到其他运行Windows的计算机上,然后从这台计算机上对该驱动器运行Chkdsk命令.

8.停止错误编号:0x0000007F
说明文字:UNEXPECTED-KERNEL-MODE-TRAP
通常的原因:通常是由于硬件或软件问题导致,但一般都由硬件故障引起的..
解决方法:核对Microsoft硬件兼容性列表以确保所有的硬件和驱动程序都与Windows兼容.如果计算机主板不兼容就会产生这个问题.
卸掉所由新近安装的硬件.
运行由计算机制造商提供的所有系统诊断软件,尤其是内存检查.
禁用BIOS内存选项,例如cache或shadow.

9.停止错误编号:0x00000050
说明文字AGE-FAULT-IN-NONPAGED-AREA
通常的原因:内存错误(数据不能使用分页文件交换到磁盘中).
解决方法:卸掉所有的新近安装的硬件.
运行由计算机制造商提供的所有系统诊断软件.尤其是内存检查.
检查是否正确安装了所有新硬件或软件,如果这是一次全新安装,请与硬件或软件制造商联系,获得可能需要的任何Windows更新或驱动程序.
禁用或卸载所有的反病毒程序.
禁用BIOS内存选项,例如cache或shadow

10.停止错误编号:0x0000007
说明文字:KERNEL-STEL-STACK-INPAGE-ERROR
通常的原因:无法从分页文件将内核数据所需的页面读取到内存中。
解决方法:使用反病毒软件的最新版本,检查计算机上是否有病毒。如果找到病毒,则执行必要的步骤把他从计算机上清除掉。请参阅制造商提供的所有系统诊断软件,尤其是内存检查。
禁用BIOS内存选项,例如cache,shadow.

11.停止错误编号:0x00000079
说明文字:MISMATCHED-HAL
通常的原因:硬件抽象层与内核或机器类型不匹配(通常发生在单处理器和多处理器配置文件混合在同一系统的情况下)。
解决方法:要解决本错误,可使用命令控制台替换计算机上错误的系统文件。
单处理器系统的内核文件是Ntoskml.exe,而多处理器系统的内核文件是Ntkrnlmp.exe,但是,这些文件要与安装媒体上的文件相对应;在安装完Windows2000和,不论使用的是哪个原文件,都会被重命名为Ntoskrnl.exe文件。HAL文件在安装之后也使用名称Hal.dll但是在安装媒体,但是在安装媒体上却有若干个可能的HAL文件。

12.停止错误编号:0x0000007A
说明文字:KERNEL-DATA-INPAGE-ERROR
通常的原因:无法从分页文件将内核数据所需的页面读取到内存中。(通常是由于分页文件上的故障,病毒,磁盘控制器错误或由故障的RAM引起的)。
解决方法:使用反病毒软件的最新版本,检查计算机上是否存在病毒。如果找到病毒。则执行必要的步骤把他从计算机上清除掉,请参阅犯病度软件文档了解如何执行这些步骤。
如果计算机已使用NTFS文件系统格式化。可重新启动计算机,然后在该系统分区上运行Chkdsk /f/r命令。如果由于错误而无法启动命令,那么使用命令控制台,并运行Chkdsk /r命令。
运行由计算机制造商提供的所有的系统在很端软件,尤其是内存检查。

13.停止错误编号:0xC000021A
说明文字:STATUS-SYSTEM-PROCESS-TERMINATED
通常的原因:用户模式子系统,例如Winlogon或客户服务器运行时子系统(CSRSS)已被损坏,所以无法再保证安全性。
解决方法:卸掉所有新近安装的硬件。
如果无法登陆,则重新启动计算机。当出现可用的作系统列表时按F8。在Windows2000高级选项菜单屏幕上,选择:“最后一次正确的配置”。然后按会车。
运行故障恢复台,并允许系统修复任何检测到的错误。

14.停止错误编号:0xC0000221
说明文字:STATUS-IMAGE-CHECKISU7M-MISMATCH
通常的原因:驱动程序或系统DLL已经被损坏。
解决方法:运行故障复控台,并且允许系统修复任何检测到的错误。
如果在RAM添加到计算机之后,立即发生错误,那么可能是分页文件损坏,或者新RAM由故障或不兼容。删除Pagefile.sys并将系统返回到原来的RAM配置。