内存不能READ错误解决方案:硬件与软件故障分析及MemTest检测方法
内存无法读取问题的解决方法

运行某些程序时,有时会出现内存错误信息,然后程序会关闭。
一般来说,出现这种现象有多种原因。一是硬件,就是内存问题,二是软件,问题很多。
故障分析
硬件:
一般来说,内存出现问题的可能性并不高。主要方面有:内存条坏了、内存质量有问题、两种不同品牌、不同容量的内存混用,也比较容易造成不兼容。 ,还要注意散热问题,尤其是超频后。可以使用MemTest软件对内存进行测试,可以彻底检测内存的稳定性。
如果你有双内存,并且不同品牌的内存条混用,或者你购买了二手内存,出现了这个问题,那么你需要检查内存是否有问题或者与其他硬件不兼容。
软件:
先简单说一下原理:内存中有一个地方用来存储数据,称为缓冲区。当程序将数据放入某一位置时,由于空间不足,就会发生溢出。例如:一个水桶只能装一公斤水。当放入两公斤水时,就会溢出。该系统显示在屏幕上。这个问题经常出现在windows 2000以上的情况下。另外,也可能是硬件设备之间兼容性不好造成的。
几个例子
例1:打开IE浏览器或几分钟后,就会出现“0x70dcf39f”命令引用的“0x00000000”内存。该内存无法被“读取”。要终止程序,请单击“确定”消息框。单击“确定”后,出现消息框“发生内部错误,您正在使用的窗口之一即将关闭”。关闭提示信息后,IE浏览器也关闭。
解决方法:修复或升级IE浏览器并打补丁。我见过的一种修复方法是Win2000自我升级,即从Win2000升级到Win2000。其实这个方法就是将系统恢复到初始状态。例如您的IE升级到6.0,升级后会替换为IE5.0/使用腾讯浏览器/
例2:在Windows XP下双击光盘中的“AutoRun.exe”文件,会显示“0x77f745cc”命令引用的“0x00000078”内存。内存不能被“写入”。要终止该程序,请单击“确定”,但它在Windows 98中正常运行。
解决办法:这可能是系统兼容性问题。对于winXP系统,右键单击“AutoRun.exe”文件,属性,兼容性,选择“以兼容模式运行此程序”项,选择“Windows 98/Me”。如果win2000打了SP补丁,直接启动运行,输入:regsvr32 c:\winnt\apppatch\slayerui.dll。右键单击,属性和兼容性选项也会出现。
示例3:RealOne Gold 关闭时发生错误。之前一直使用正常,但是最近每次关闭都会出现“0xffffffff”命令引用的“0xffffffff”内存。内存不能被“读取”。
解决方案:当使用的输入法是微软拼音输入法2003并且语言栏被隐藏时(不隐藏时没有问题),关闭RealOne时就会出现此问题。因此,在关闭RealOne之前,可以显示语言栏或显示任何其他输入法。作为目前的输入法来解决这个问题。
例4:我的英雄超级解霸上线后无法玩。每次“Ox060692f6”(每次更改)指令引用“Oxff000011”内存无法“读取”时都会提示。请单击“确定”终止程序。
解决方案:尝试重新安装英雄超级解霸。如果重装后问题依然存在,请前往官网下载对应版本的补丁后尝试。如果还是不行,我就得换个播放器试试。
示例 5:双击游戏快捷方式。 “Ox77f5cdO”命令指的是“Oxffffffff”存储器。内存无法“读取”,提示Client.dat程序错误。
解决方案:重新安装显卡最新驱动程序,然后下载并安装DirectX9.0。
例6:朋友发消息,我的电脑出现错误信息:“0*772b548f”命令引用的“0*00303033”内存无法“写入”,然后QQ自动下线重新打开。 QQ上发现了他发的十几条消息。
解决办法:这是对方使用QQ,发送特殊代码,导致QQ出错的BUG。只要打个补丁或者升级到最新版本就可以了。
例7:我的笔记本电脑使用的是XP系统。有时关闭网页时,会弹出tbrowser.exe遇到问题需要关闭。然后,就会弹出0x03e7c738指令引用的0x03e7c738内存。该内存无法读取。这是怎么回事?
解决办法:首先检查是否有病毒,如果您安装了浏览增强软件,请将其卸载。
示例8:从桌面或开始菜单打开任何程序时,出现错误消息:“0x...”命令引用的“0x00000000”内存无法“读取”。椭圆代表变量值。并且从运行中打开程序是没有问题的。
解决办法:运行regedit进入注册表。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks下应该只有一个普通键值“{AEB6717E-7E19-11d0-97EE-00C04FD91972},其他的删除(当然不要删除默认键值) )。
示例 9:我三个月前订购了一台机器。系统相对不稳定。三个月内重装系统多次。系统刚安装四五天,但资源管理器应用程序错误经常随机发生。出现“0x4a01259d”命令引用的“0x00000000”内存。该内存无法被“读取”。要终止该程序,请单击“确定”。要调试程序,请单击“取消”。如果单击“确定”,Windows 桌面将会消失。这个问题在之前的系统中也出现过。我想知道是否是硬件问题?
解决办法:内存兼容性问题!如果遇到此类问题,可以打开机器,调整内存的位置,看看能否解决问题。如果问题仍然存在,您可以与朋友交换内存。
从上面的例子我们可以看出,失败的原因有很多。下面列出了提到的和可能的原因,以供参考。
问题的原因 – 解决方案
内存条坏了——更换内存条
双内存不兼容——使用同一品牌的内存或只使用一根内存
内存质量问题——更换内存条
散热问题--加强机箱内部散热
内存和主板未正确插入或与其他硬件不兼容。重新插入内存或更换插槽。
硬盘有问题——更换硬盘
驱动程序问题-重新安装驱动程序。如果是新系统,必须先安装主板驱动
软件损坏-重新安装软件
该软件有错误 - 修补它或使用最新版本。
软件与系统不兼容——修补软件或尝试系统兼容模式
软件之间存在冲突 - 如果最近安装了任何新软件,请尝试卸载它。
使用其他相关软件时该软件有问题——重新安装相关软件。例如,如果播放某种格式的文件时出现错误,则可能是该文件的解码器出现问题。
病毒问题-防病毒
防病毒软件与系统或软件冲突——由于防病毒软件进入底层监控系统,可能会与某些软件发生冲突。尝试卸载它。
系统本身有问题——有时操作系统本身就有bug。注意安装官方的升级程序,比如SP补丁,最好应用一下。如果还是不行,请重装系统或者更换其他版本的系统。
=================================================
Windows系统出现内存错误
1. 应用程序未能检查内存分配。
当程序需要一块内存来保存数据时,需要调用操作系统提供的“函数函数”来申请。如果内存分配成功,函数会将新开辟的内存区域的地址返回给应用程序,应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”,内存地址也就是编程中的“指针”。
内存并不总是可用且取之不尽用之不竭,有时内存分配会失败。当分配失败时,系统函数会返回值0。此时,返回值“0”不再代表新启用的指针,而是系统向应用程序发送的通知,通知应用程序发生了错误已经发生了。作为应用程序,每次申请内存后都应该检查返回值是否为0。如果是,则说明出现了故障,需要采取一些措施来挽救。这增强了程序的“鲁棒性”。
如果应用程序没有检查这个错误,它就会认为这个值是根据“思维惯性”分配给它的可用指针,并在后续运行中继续使用这块内存。地址0处的真实内存区域存放着计算机系统中最重要的“中断描述符表”,应用程序绝对不允许使用它。在没有保护机制的操作系统(如DOS)中,向该地址写入数据会立即导致崩溃。在一个健壮的操作系统中,比如Windows,这个操作会立即被系统的保护机制捕获,其结果是操作系统强行关闭出错的应用程序,以防止其错误蔓延。这时就会出现上述“写内存”错误,指出引用的内存地址为“0x00000000”。
内存分配失败的原因有很多。内存不足、系统功能版本不匹配等都可能产生影响。因此,这种分配失败多见于操作系统长期使用后、安装了多种应用程序(包括无意中“安装”的病毒程序)、大量系统参数和修改后。系统文件已更改。
2、应用程序由于自身的bug,引用了异常的内存指针。
在使用动态分配的应用程序中,有时会出现这样的情况:程序尝试读取或写入一块“应该可用”的内存,但由于某种原因,预期的可用指针已经过期。可能是它“忘记”向操作系统请求分配,也可能是程序本身在某个时刻没有“注意”而注销了这块内存等等。未注册的内存被系统回收,并且它的访问权限不再属于应用程序。因此,读写操作也会触发系统的保护机制。试图“非法”的程序的唯一命运就是被操作终止,并且所有资源都将被回收。计算机世界的法律还是比人类的法律有效、严格得多!
像这样的情况都是程序本身的bug,你经常可以通过特定的操作顺序重现错误。无效指针并不总是0,因此错误消息中的内存地址不一定是“0x00000000”,而是其他随机数。
如果您的系统经常遇到上述错误消息,以下建议可能会有所帮助:
1、检查系统是否存在木马、病毒。此类程序常常为了控制系统而不负责任地修改系统,导致操作系统异常。您应时刻加强信息安全意识,切勿对来历不明的可执行程序感到好奇。
2、更新操作系统,让操作系统安装程序重新复制正确版本的系统文件并更正系统参数。有时操作系统本身可能存在Bug,所以一定要安装官方的升级程序。
3. 尝试新版本的应用程序