分享

关于电脑内存报错的解决办法

 panda0211 2014-05-14

“0X????????”指令引用的“0x????????”内存,该内存不能为read,要终止程序,清单击“确定”“,相信大多数朋友都遇到过这类内存不能为read的提示,有时可能只是偶尔出现,这是正常的,而过于频繁的出现,就一定要去查查深层次的原因了,下面为大家介绍下该内存不能为read的可能原因及解决方法:

一般来说内存出现问题的可能性并不是很大, 主要方面是内存条坏了. 内存质量有问题 . 还有就是两个不同容量不同牌子的内存条混插 ,也比较容易出现不兼容的现象, 同时还要注意散热问题, 特别是超频后, 你可以使用Mestest软件测试一下内存,他可以准确的检测出内存的稳定度.假如你是双内存,而且是不同牌子的内存条混插了或是购买的2手内存时,出现了这个问题,这时,你要检查是不是内存出了问题或是有其他硬件不兼容.如果都没有,那就要从软件方面找问题了.


说说原理:内存有个存放数据的地方就缓冲区,当程序把数据放在某一位置时,因为没有足够空间,就会出现溢出现象.举个例子:一个桶里只能放一斤水,你要是放进二斤水,那它就会溢出来.而系统则是在屏幕上表现出来.这个问题经常出现在2000和XP上,2000/XP对硬件要求是很苛刻的, 一旦遇到资源死锁,溢出或者类似win98的错误操作,系统为保持稳定,就会出现上述情况.另外也可能是硬件兼容性不好造成的.


一,造成内存不能为read的深层次原因

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

但由于某些原因,可能导致内存分配的失败。当分配失败时系统函数就会返回一个0值,这时返回值“0”已不表示新启用的指针,而是系统向应用程序提醒:你的申请出现错误未能成功!若应用程序没有检查到这个错误,就会按照“思维惯性”认为这个值就是给它分配的可用指针,继续在此后的运行中使用它认为的“这块内存”。

然而,真正的0地址内存区保存的是系统中最重要的“中断描述符表”,是不允许一般应用程序使用的。应用程序试图使用该0地址,会马上被Windows系统的保护机制捕获,而后由操作系统强行关闭出错的应用程序,以防止其错误扩大。这时候,就会出现上述的“写内存”错误,并指出被引用的内存地址为 “0x????????”。

如何避免内存不能为read?

1,安装原汁原味的官方原版系统

推荐系统:XP SP3 | Windows7 SP1

2,不滥装软件,只安装自己需要的软件

推荐阅读:关于软件的选择,安装,设置,卸载的注意事项

3,使用一段时间,建议定期清理内存的“金手指”结合部

4,安装知名的杀毒软件,定期查杀,减少感染病毒木马的几率

遇到内存不能为read的紧急补救措施:

在命令提示符(CMD)中输入以下命令后回车:

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

通过运行以上命令可以将系统中所有的.dll文件重新注册一遍(大约需要3-5分钟时间),从而解决当前的内存不能为read的故障

其他的原因及解决方法
1 内存条坏了——更换内存条
2 双内存不兼容——使用同品牌的内存或只要一条内存
3 内存质量问题——更换内存条
4 散热问题——加强机箱内部的散热
5 内存和主板没插好或其他硬件不兼容——重插内存或换个插槽
6 硬件有问题——更换硬盘
7 驱动问题——重装驱动,如果是新系统,应先安装主板驱动
8 软件损坏——重装软件
9 软件有BUG——打补丁或更新到最新版本
10 软件和系统不兼容——给软件打上补丁或是试试系统的兼容模式
11 软件和软件之间有冲突——如果最近安装了什么新软件,卸载了试试
12 软件要使用其他相关的软件有问题——重装相关软件,比如播放某一格式的文件时出错,可能是这个文件的解码器有问题
13 病毒问题——杀毒
14 杀毒软件与系统或软件相冲突——由于杀毒软件是进入底层监控系统的,可能与一些软件相冲突,卸载试试
15 系统本身有问题——有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序,象SP的补丁,最好打上.如果还不行,重装系统,或更换其他版本的系统。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多